OSDN Git Service

Load plugins after main form is loaded
authorLatif Khalifa <latifer@streamgrid.net>
Tue, 29 Sep 2009 22:48:22 +0000 (22:48 +0000)
committerLatif Khalifa <latifer@streamgrid.net>
Tue, 29 Sep 2009 22:48:22 +0000 (22:48 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@291 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/Core/RadegastInstance.cs

index 5648f3f..6e20b42 100644 (file)
@@ -49,7 +49,6 @@ namespace Radegast
         private StateManager state;\r
 \r
         private frmMain mainForm;\r
-        private TabsConsole tabsConsole;\r
 \r
         // Singleton, there can be only one instance\r
         private static RadegastInstance globalInstance = null;\r
@@ -193,7 +192,6 @@ namespace Radegast
 \r
             mainForm = new frmMain(this);\r
             mainForm.InitializeControls();\r
-            tabsConsole = mainForm.TabConsole;\r
 \r
             groups = new Dictionary<UUID, Group>();\r
 \r
@@ -203,7 +201,7 @@ namespace Radegast
             client.Groups.OnGroupJoined += new GroupManager.GroupJoinedCallback(Groups_OnGroupJoined);\r
             client.Avatars.OnAvatarNames += new AvatarManager.AvatarNamesCallback(Avatars_OnAvatarNames);\r
             client.Network.OnConnected += new NetworkManager.ConnectedCallback(Network_OnConnected);\r
-            ScanAndLoadPlugins();\r
+            mainForm.Load += new EventHandler(mainForm_Load);\r
         }\r
 \r
         public void CleanUp()\r
@@ -265,10 +263,18 @@ namespace Radegast
                 netcom.Dispose();\r
                 netcom = null;\r
             }\r
-\r
+            if (mainForm != null)\r
+            {\r
+                mainForm.Load -= new EventHandler(mainForm_Load);\r
+            }\r
             Logger.Log("RadegastInstance finished cleaning up.", Helpers.LogLevel.Debug);\r
         }\r
 \r
+        void mainForm_Load(object sender, EventArgs e)\r
+        {\r
+            ScanAndLoadPlugins();\r
+        }\r
+\r
         private void ScanAndLoadPlugins()\r
         {\r
             string dirName = Application.StartupPath;\r
@@ -508,7 +514,7 @@ namespace Radegast
 \r
         public TabsConsole TabConsole\r
         {\r
-            get { return tabsConsole; }\r
+            get { return mainForm.TabConsole; }\r
         }\r
 \r
         public void HandleThreadException(object sender, ThreadExceptionEventArgs e)\r