From 31a636e735a0addc56e4f4527f500b7aa0874eb5 Mon Sep 17 00:00:00 2001 From: chr <chr@mailcom> Date: 星期五, 03 一月 2025 11:21:46 +0800 Subject: [PATCH] 改了一大堆; --- PdmSwPlugin.Main/SwAddIn/MainControl.cs | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/PdmSwPlugin.Main/SwAddIn/MainControl.cs b/PdmSwPlugin.Main/SwAddIn/MainControl.cs index 6b1208c..56b44f7 100644 --- a/PdmSwPlugin.Main/SwAddIn/MainControl.cs +++ b/PdmSwPlugin.Main/SwAddIn/MainControl.cs @@ -365,19 +365,29 @@ public void DeActiveHandler() { - foreach (TabItem item in mainTab.tabControl.Items) + try { - // 鍚戜富Control娉ㄥ唽浜嬩欢 - if (item.Content is IActiveDocChangeHandler handler) + if (mainTab?.tabControl != null) { - ActiveDocChangeEvent -= handler.OnSwActiveDocChange; - ActiveDocSavedEvent -= handler.OnSwActiveDocSaved; - ActiveDocCustomPropertyChange -= handler.OnCustomPropertyChange; - DocDestroy -= handler.OnDocDestroy; - AfterDocDestroy -= handler.AfterDocDestroy; + foreach (TabItem item in mainTab.tabControl.Items) + { + // 鍚戜富Control娉ㄥ唽浜嬩欢 + if (item.Content is IActiveDocChangeHandler handler) + { + ActiveDocChangeEvent -= handler.OnSwActiveDocChange; + ActiveDocSavedEvent -= handler.OnSwActiveDocSaved; + ActiveDocCustomPropertyChange -= handler.OnCustomPropertyChange; + DocDestroy -= handler.OnDocDestroy; + AfterDocDestroy -= handler.AfterDocDestroy; + } + } + PluginInfos.Clear(); } } - PluginInfos.Clear(); + catch (Exception ex) + { + Logger.Error("DeActiveHandler Failed.", ex); + } } /// <summary> -- Gitblit v1.9.1