diff --git a/Ink Canvas/Helpers/ROTPPTManager.cs b/Ink Canvas/Helpers/ROTPPTManager.cs index 1fae41c6..224e62fa 100644 --- a/Ink Canvas/Helpers/ROTPPTManager.cs +++ b/Ink Canvas/Helpers/ROTPPTManager.cs @@ -221,10 +221,9 @@ namespace Ink_Canvas.Helpers { try { - if (!_isModuleUnloading) - { - CheckAndConnectToPPTViaRot(); - } + if (_disposed || _isModuleUnloading) + return; + CheckAndConnectToPPTViaRot(); } catch (Exception ex) { @@ -236,10 +235,9 @@ namespace Ink_Canvas.Helpers { try { - if (!_isModuleUnloading && IsConnected) - { - CheckSlideShowState(); - } + if (_disposed || _isModuleUnloading || !IsConnected) + return; + CheckSlideShowState(); } catch (Exception ex) { @@ -249,7 +247,7 @@ namespace Ink_Canvas.Helpers private void CheckAndConnectToPPTViaRot() { - if (_isModuleUnloading) return; + if (_disposed || _isModuleUnloading) return; if (_pptApplication != null && !IsConnected) { @@ -457,7 +455,8 @@ namespace Ink_Canvas.Helpers System.Threading.Thread.Sleep(200); _isModuleUnloading = false; - _unifiedRotTimer?.Start(); + if (!_disposed) + _unifiedRotTimer?.Start(); } catch (Exception ex) { diff --git a/Ink Canvas/MainWindow_cs/MW_PPT.cs b/Ink Canvas/MainWindow_cs/MW_PPT.cs index dd11a723..78aa67fa 100644 --- a/Ink Canvas/MainWindow_cs/MW_PPT.cs +++ b/Ink Canvas/MainWindow_cs/MW_PPT.cs @@ -104,7 +104,7 @@ namespace Ink_Canvas private const int SlideSwitchDebounceMs = 150; // 防抖延迟150毫秒 private DispatcherTimer _exitPPTModeAfterDisconnectTimer; - private const int ExitPPTModeAfterDisconnectDelayMs = 800; + private const int ExitPPTModeAfterDisconnectDelayMs = 1200; #endregion #region PPT Managers