OSDN Git Service

Close group and profile windows on disconnect.
authorLatif Khalifa <latifer@streamgrid.net>
Sat, 31 Oct 2009 14:04:32 +0000 (14:04 +0000)
committerLatif Khalifa <latifer@streamgrid.net>
Sat, 31 Oct 2009 14:04:32 +0000 (14:04 +0000)
git-svn-id: https://radegast.googlecode.com/svn/trunk@402 f7a694da-4d33-11de-9ad6-1127a62b9fcd

Radegast/GUI/Dialogs/GroupInfo.cs
Radegast/GUI/Dialogs/Profile.cs

index e34a9a0..4257a6f 100644 (file)
@@ -36,6 +36,8 @@ namespace Radegast
 {\r
     public partial class frmGroupInfo : RadegastForm\r
     {\r
+        private RadegastInstance instance;\r
+\r
         public Group Group { get; set; }\r
         public GroupDetails GroupDetails { get; set; }\r
 \r
@@ -46,6 +48,7 @@ namespace Radegast
             Disposed += new System.EventHandler(frmGroupInfo_Disposed);\r
             AutoSavePosition = true;\r
 \r
+            this.instance = instance;\r
             this.Group = group;\r
 \r
             GroupDetails = new GroupDetails(instance, group);\r
@@ -54,11 +57,18 @@ namespace Radegast
             MinimumSize = Size;\r
             Controls.Add(GroupDetails);\r
             Text = group.Name + " - Group information";\r
+            instance.Netcom.ClientDisconnected += new System.EventHandler<DisconnectedEventArgs>(Netcom_ClientDisconnected);\r
         }\r
 \r
         void frmGroupInfo_Disposed(object sender, System.EventArgs e)\r
         {\r
             GroupDetails.Dispose();\r
+            instance.Netcom.ClientDisconnected -= new System.EventHandler<DisconnectedEventArgs>(Netcom_ClientDisconnected);\r
+        }\r
+\r
+        void Netcom_ClientDisconnected(object sender, DisconnectedEventArgs e)\r
+        {\r
+            Close();\r
         }\r
     }\r
 }\r
index 6163885..7d201c5 100644 (file)
@@ -82,7 +82,7 @@ namespace Radegast
             client.Avatars.AvatarPicksReply += new EventHandler<AvatarPicksReplyEventArgs>(Avatars_AvatarPicksReply);\r
             client.Avatars.PickInfoReply += new EventHandler<PickInfoReplyEventArgs>(Avatars_PickInfoReply);\r
             client.Parcels.ParcelInfoReply += new EventHandler<ParcelInfoReplyEventArgs>(Parcels_ParcelInfoReply);\r
-            netcom.ClientLoggedOut += new EventHandler(netcom_ClientLoggedOut);\r
+            netcom.ClientDisconnected += new EventHandler<DisconnectedEventArgs>(netcom_ClientDisconnected);\r
 \r
             InitializeProfile();\r
         }\r
@@ -93,7 +93,7 @@ namespace Radegast
             client.Avatars.AvatarPicksReply -= new EventHandler<AvatarPicksReplyEventArgs>(Avatars_AvatarPicksReply);\r
             client.Avatars.PickInfoReply -= new EventHandler<PickInfoReplyEventArgs>(Avatars_PickInfoReply);\r
             client.Parcels.ParcelInfoReply -= new EventHandler<ParcelInfoReplyEventArgs>(Parcels_ParcelInfoReply);\r
-            netcom.ClientLoggedOut -= new EventHandler(netcom_ClientLoggedOut);\r
+            netcom.ClientDisconnected -= new EventHandler<DisconnectedEventArgs>(netcom_ClientDisconnected);\r
         }\r
 \r
         void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e)\r
@@ -234,7 +234,7 @@ namespace Radegast
             );\r
         }\r
 \r
-        private void netcom_ClientLoggedOut(object sender, EventArgs e)\r
+        void netcom_ClientDisconnected(object sender, DisconnectedEventArgs e)\r
         {\r
             Close();\r
         }\r