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