ayttm-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.80,1.81


From: Colin Leroy <address@hidden>
Subject: [Ayttm-commits] CVS: ayttm/modules/msn2 msn.C,1.80,1.81
Date: Fri, 21 Mar 2003 11:16:14 -0500

Update of /cvsroot/ayttm/ayttm/modules/msn2
In directory subversions:/tmp/cvs-serv13083/modules/msn2

Modified Files:
        msn.C 
Log Message:
Fix segfault when typing in "timed-out" chatrooms


Index: msn.C
===================================================================
RCS file: /cvsroot/ayttm/ayttm/modules/msn2/msn.C,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -r1.80 -r1.81
--- msn.C       21 Mar 2003 13:16:58 -0000      1.80
+++ msn.C       21 Mar 2003 16:16:11 -0000      1.81
@@ -1208,7 +1208,8 @@
         /* I conform to this indentation scheme under protest :-) -Meredydd */
         msnconn * conn=(msnconn *)room->protocol_local_chat_room_data;
 
-        msn_send_IM(conn, NULL, msg); // simple, isn't it?
+       if (conn) /* may be closed */
+               msn_send_IM(conn, NULL, msg); // simple, isn't it?
 
         delete msg;
 
@@ -1222,6 +1223,11 @@
 
 void eb_msn_leave_chat_room( eb_chat_room * room )
 {
+  if (!room || !room->protocol_local_chat_room_data) 
+         return; /* already cleaned by conn timeout */
+  
+  eb_debug(DBG_MSN,"Leaving chat_room associated with conn %d\n",
+                 ((msnconn *)room->protocol_local_chat_room_data)->sock);
   eb_msn_clean_up_chat_room((msnconn *)room->protocol_local_chat_room_data);
   msn_clean_up((msnconn *)room->protocol_local_chat_room_data);
   room->protocol_local_chat_room_data=NULL; // (got cleaned up by the above 
line)
@@ -2142,7 +2148,7 @@
 
   if(ecr!=NULL)
   {
-    eb_msn_clean_up_chat_room(conn);
+    eb_msn_leave_chat_room(ecr);
 
     return;
   }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]