From: Andy D. <kha...@us...> - 2005-01-10 16:17:03
|
Update of /cvsroot/planeshift/planeshift/src/server In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22571/server Modified Files: advicemanager.cpp Log Message: Fixed psAdviceSessionTimeoutGameEvent corrupting memory because it wasn't being cancelled when the AdviceSession ended. Index: advicemanager.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/server/advicemanager.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** advicemanager.cpp 10 Jan 2005 15:50:34 -0000 1.28 --- advicemanager.cpp 10 Jan 2005 16:16:53 -0000 1.29 *************** *** 218,221 **** --- 218,222 ---- gemActor *sender = (gemActor *)object; + adviceSession->requestEvent = NULL; if ( sender == adviseeActor ) { *************** *** 242,245 **** --- 243,247 ---- virtual void Trigger() { + adviceSession->requestEvent = NULL; advicemanager->AdviceRequestTimeout( adviceSession ); }; *************** *** 282,285 **** --- 284,288 ---- psGEMEvent::Disconnecting( object ); + adviceSession->timeoutEvent = NULL; //Handle dependencies ourselves since we have two. if ( adviseeActor != NULL) *************** *** 294,299 **** void psAdviceSessionTimeoutGameEvent::Trigger() { ! if ( adviceSession->timeoutEvent ) ! adviceSession->timeoutEvent = NULL; adviceSession->SessionTimeout(); }; --- 297,301 ---- void psAdviceSessionTimeoutGameEvent::Trigger() { ! adviceSession->timeoutEvent = NULL; adviceSession->SessionTimeout(); }; |