Hi, All.

This small patch fix bug, reported by Wellington Castello and Daniel
Brenner (licq: icqevent.cpp:115: ICQEvent::~ICQEvent(): Assertion !m_Deleted')
This occured, because then all replays for meta info request successfully
recievied, request event erased from extented event list and deleted by
ProcessDoneEvent, but not erased from running event list. And then user
logoff, running event list cleared and this event deleted in the second
time, that crash licq.
I add DoneEvent before ProcessDoneEvent to remove request event from running
event list.

SergK.
diff -urN licq/src/icqd-srv.cpp licq-sk12/src/icqd-srv.cpp
--- licq/src/icqd-srv.cpp       Tue Apr  9 13:37:01 2002
+++ licq-sk12/src/icqd-srv.cpp  Tue Apr  9 17:51:00 2002
@@ -2472,9 +2472,10 @@
         }
 
        if (!multipart) {
-           if (e != NULL)
+           if (e != NULL) {
+               DoneEvent(e, EVENT_SUCCESS);
                ProcessDoneEvent(e);
-           else {
+           } else {
                gLog.Warn("%sResponse to unknown extended info request for %s 
(%ld).\n",
                L_WARNxSTR, u->GetAlias(), nUin);
            }

Reply via email to