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
\r
mainForm = new frmMain(this);\r
mainForm.InitializeControls();\r
- tabsConsole = mainForm.TabConsole;\r
\r
groups = new Dictionary<UUID, Group>();\r
\r
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
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
\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