[Opalvoip-svn] SF.net SVN: opalvoip:[29837] opal/branches/v3_12
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2013-05-30 07:31:50
|
Revision: 29837 http://sourceforge.net/p/opalvoip/code/29837 Author: rjongbloed Date: 2013-05-30 07:31:47 +0000 (Thu, 30 May 2013) Log Message: ----------- Fixed bug #444 "Memory leak: OpalRTPSession is not destroyed", thanks Valeriy V. Argunov Modified Paths: -------------- opal/branches/v3_12/include/rtp/rtpconn.h opal/branches/v3_12/src/rtp/rtpconn.cxx Modified: opal/branches/v3_12/include/rtp/rtpconn.h =================================================================== --- opal/branches/v3_12/include/rtp/rtpconn.h 2013-05-30 06:15:10 UTC (rev 29836) +++ opal/branches/v3_12/include/rtp/rtpconn.h 2013-05-30 07:31:47 UTC (rev 29837) @@ -295,12 +295,7 @@ class SessionMap : public PSafeDictionary<PKey<unsigned>, OpalMediaSession> { public: - void MoveFrom(SessionMap & other) - { - *this = other; - other.DisallowDeleteObjects(); - other.RemoveAll(); - } + void MoveFrom(SessionMap & other); }; protected: Modified: opal/branches/v3_12/src/rtp/rtpconn.cxx =================================================================== --- opal/branches/v3_12/src/rtp/rtpconn.cxx 2013-05-30 06:15:10 UTC (rev 29836) +++ opal/branches/v3_12/src/rtp/rtpconn.cxx 2013-05-30 07:31:47 UTC (rev 29837) @@ -575,4 +575,17 @@ } +void OpalRTPConnection::SessionMap::MoveFrom(SessionMap & other) +{ + *this = other; + AllowDeleteObjects(); // We now own the objects, need to put this back on + + // Remove from other without deleting them + bool del = other.deleteObjects; + other.DisallowDeleteObjects(); + other.RemoveAll(); + other.AllowDeleteObjects(del); +} + + ///////////////////////////////////////////////////////////////////////////// This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |