diff --git a/osr/handlers/settingshandler.simba b/osr/handlers/settingshandler.simba index f42cf2c6..b2a52c51 100644 --- a/osr/handlers/settingshandler.simba +++ b/osr/handlers/settingshandler.simba @@ -446,15 +446,15 @@ function TSettingsHandler.DisableMagicFilters(out actionsTaken: Int32): Boolean; var button: TRSButton; begin - Self.DebugLn('DisableMagicFilters -> Attempting to disable magic filters'); - if not Magic.OpenFilters() then - begin - Self.DebugLn('DisableMagicFilters -> Failed to open magic filters'); - Exit; - end; + Self.DebugLn('DisableMagicFilters -> Checking magic filters'); if not Magic.IsFiltered() then begin Self.DebugLn('DisableMagicFilters -> No filters active'); + Exit(True); + end; + if not Magic.OpenFilters() then + begin + Self.DebugLn('DisableMagicFilters -> Failed to open magic filters'); Exit; end; for button in Magic.GetFilterButtons() do @@ -466,9 +466,10 @@ begin Inc(actionsTaken); end; end; - Result := WaitUntil(Magic.CloseFilters(), 400, 3000); -end; - + Self.DebugLn('DisableMagicFilters -> ' + ToStr(actionsTaken) + ' filter(s) disabled, closing panel'); + Magic.CloseFilters(); + Result := WaitUntil(not Magic.IsFiltered(), 300, 3000); +end; (* ## SettingsHandler.FixScreenPostResolutionChange() ```pascal