diff --git a/HandheldCompanion/Managers/PerformanceManager.cs b/HandheldCompanion/Managers/PerformanceManager.cs index 5d98d1836..6201d4ab6 100644 --- a/HandheldCompanion/Managers/PerformanceManager.cs +++ b/HandheldCompanion/Managers/PerformanceManager.cs @@ -356,9 +356,12 @@ private static void autotdpWatchdog_Elapsed(object? sender, ElapsedEventArgs e) if (!PlatformManager.RTSS.HasHook()) { + autotdpWatchdog.Interval = INTERVAL_DEGRADED; RestoreTDP(true); return; } + else + autotdpWatchdog.Interval = INTERVAL_AUTO; if (autotdpLock.TryEnter()) { @@ -433,8 +436,17 @@ private static void autotdpWatchdog_Elapsed(object? sender, ElapsedEventArgs e) // user requested to halt AutoTDP watchdog if (autotdpWatchdogPendingStop) - if (TDPdone && MSRdone) + { + if (autotdpWatchdog.Interval == INTERVAL_AUTO) + { + if (TDPdone && MSRdone) + autotdpWatchdog.Stop(); + } + else if (autotdpWatchdog.Interval == INTERVAL_DEGRADED) + { autotdpWatchdog.Stop(); + } + } } finally {