----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://reviewboard.kde.org/r/972/ -----------------------------------------------------------
Review request for Kopete. Summary ------- Sometimes Kopete crashes when disconnecting from WLM server. I think I have found the cause, which seems a race condition in WlmServer::WlmDisconnect: 1 if (mainConnection) 2 { 3 disconnecting = true; 4 QListIterator i(cb.socketList); 5 while (i.hasNext()) 6 { 7 a = i.next(); 8 QObject::disconnect (a, 0, 0, 0); 9 cb.socketList.removeAll (a); 10 } 11 cb.socketList.clear (); 12 if (mainConnection->connectionState () != 13 MSN::NotificationServerConnection::NS_DISCONNECTED) 14 { 15 delete mainConnection; 16 mainConnection = NULL; 17 } 18 } If WlmServer::WlmDisconnect is called twice in a really short time frame between the if in line 1 and the delete in line 15 some time will passed and the second run of WlmServer::WlmDisconnect will enter the if and delete mainConnection object for a second time, which will cause Kopete to crash. This addresses bug 199580. https://bugs.kde.org/show_bug.cgi?id=199580 Diffs ----- /trunk/KDE/kdenetwork/kopete/protocols/wlm/wlmserver.h 993925 /trunk/KDE/kdenetwork/kopete/protocols/wlm/wlmserver.cpp 993925 Diff: http://reviewboard.kde.org/r/972/diff Testing ------- Thanks, Lamarque _______________________________________________ kopete-devel mailing list kopete-devel@kde.org https://mail.kde.org/mailman/listinfo/kopete-devel