Revision: 8096
http://miranda.svn.sourceforge.net/miranda/?rev=8096&view=revAuthor: vpavlychko
Date: 2008-07-21 15:05:30 +0000 (Mon, 21 Jul 2008)
Log Message:
-----------
fixed crash after user is kicked from chat
Modified Paths:
--------------
trunk/miranda/protocols/JabberG/jabber_chat.cpp
trunk/miranda/protocols/JabberG/jabber_groupchat.cpp
Modified: trunk/miranda/protocols/JabberG/jabber_chat.cpp
===================================================================
--- trunk/miranda/protocols/JabberG/jabber_chat.cpp 2008-07-21 15:05:28 UTC (rev 8095)
+++ trunk/miranda/protocols/JabberG/jabber_chat.cpp 2008-07-21 15:05:30 UTC (rev 8096)
@@ -363,7 +363,7 @@
gce.dwFlags = GC_TCHAR;
gce.pDest = &gcd;
- if ( code != 307 ) {
+ if ( code != 307 && code != 301 ) {
CallServiceSync( MS_GC_EVENT, SESSION_TERMINATE, ( LPARAM )&gce );
CallServiceSync( MS_GC_EVENT, WINDOW_CLEARLOG, ( LPARAM )&gce );
if (!DBGetContactSettingTString( NULL, m_szModuleName, "GcMsgQuit", &dbvMessage))
Modified: trunk/miranda/protocols/JabberG/jabber_groupchat.cpp
===================================================================
--- trunk/miranda/protocols/JabberG/jabber_groupchat.cpp 2008-07-21 15:05:28 UTC (rev 8095)
+++ trunk/miranda/protocols/JabberG/jabber_groupchat.cpp 2008-07-21 15:05:30 UTC (rev 8096)
@@ -962,8 +962,8 @@
itemNode = JabberXmlGetChild( xNode, "item" );
XmlNode* reasonNode = JabberXmlGetChild( itemNode, "reason" );
str = JabberXmlGetAttrValue( itemNode, "jid" );
- int m_iStatus = sttGetStatusCode( xNode );
- if (m_iStatus == 301)
+ int iStatus = sttGetStatusCode( xNode );
+ if (iStatus == 301)
{
JABBER_RESOURCE_STATUS *r = NULL;
for (int i = 0; i < item->resourceCount; ++i)
@@ -974,18 +974,18 @@
}
}
if ( !lstrcmp( nick, item->nick )) {
- switch( m_iStatus ) {
+ switch( iStatus ) {
case 301:
case 307:
- GcQuit( item, m_iStatus, reasonNode );
- break;
+ GcQuit( item, iStatus, reasonNode );
+ return;
case 303:
RenameParticipantNick( item, nick, itemNode );
return;
} }
else {
- switch( m_iStatus ) {
+ switch( iStatus ) {
case 303:
RenameParticipantNick( item, nick, itemNode );
return;
@@ -994,7 +994,7 @@
case 307:
case 322:
ListRemoveResource( LIST_CHATROOM, from );
- GcLogUpdateMemberStatus( item, nick, str, GC_EVENT_KICK, reasonNode, m_iStatus );
+ GcLogUpdateMemberStatus( item, nick, str, GC_EVENT_KICK, reasonNode, iStatus );
return;
} } }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
Miranda-Commits mailing list
Miranda-Commits@...
https://lists.sourceforge.net/lists/listinfo/miranda-commits