From 1ed13e646687eb7bbb2ab4b847eb9be8afbdea74 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Mon, 5 May 2014 21:33:01 -0400 Subject: [PATCH 1/2] Fix some message leaks in cyCamera --- .../Plasma/FeatureLib/pfPython/cyCamera.cpp | 37 ++++++------------- 1 file changed, 11 insertions(+), 26 deletions(-) diff --git a/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp b/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp index 3470b19e..a7a226f3 100644 --- a/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp +++ b/Sources/Plasma/FeatureLib/pfPython/cyCamera.cpp @@ -176,25 +176,16 @@ void cyCamera::ControlKey(int32_t controlKey, bool activated) // void cyCamera::TransitionTo(pyKey& newCamKey, double time, bool save) { - // create message - plCameraMsg* pMsg = new plCameraMsg; - if ( fSender ) - pMsg->SetSender(fSender); - // must have a receiver! - if ( fTheCam ) - { - pMsg->AddReceiver(fTheCam); - // set command to do the transition + if (fTheCam) { + plCameraMsg* pMsg = new plCameraMsg; + if (fSender) + pMsg->SetSender(fSender); pMsg->SetCmd(plCameraMsg::kTransitionTo); - // set the new camera pMsg->SetNewCam(newCamKey.getKey()); - // set the transition time pMsg->SetTransTime(time); - // test to see if they want to save - if ( save ) + if (save) pMsg->SetCmd(plCameraMsg::kPush); - - plgDispatch::MsgSend( pMsg ); // whoosh... off it goes + pMsg->Send(fTheCam); } } @@ -221,18 +212,12 @@ void cyCamera::SetEnableFirstPersonOverride(bool state) const void cyCamera::UndoFirstPerson() { - // create message - plCameraMsg* pMsg = new plCameraMsg; - if ( fSender ) - pMsg->SetSender(fSender); - // must have a receiver! - if ( fTheCam ) - { - pMsg->AddReceiver(fTheCam); - // set command to do the transition + if (fTheCam) { + plCameraMsg* pMsg = new plCameraMsg; + if (fSender) + pMsg->SetSender(fSender); pMsg->SetCmd(plCameraMsg::kPythonUndoFirstPerson); - - plgDispatch::MsgSend( pMsg ); // whoosh... off it goes + pMsg->Send(fTheCam); } } From d4dbc815222fcc68234ae473edc845a2733e9a94 Mon Sep 17 00:00:00 2001 From: Adam Johnson Date: Mon, 5 May 2014 21:37:15 -0400 Subject: [PATCH 2/2] Fix another book-sharing message leak... --- .../PubUtilLib/plNetClient/plNetLinkingMgr.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Sources/Plasma/PubUtilLib/plNetClient/plNetLinkingMgr.cpp b/Sources/Plasma/PubUtilLib/plNetClient/plNetLinkingMgr.cpp index 54cad170..d454f454 100644 --- a/Sources/Plasma/PubUtilLib/plNetClient/plNetLinkingMgr.cpp +++ b/Sources/Plasma/PubUtilLib/plNetClient/plNetLinkingMgr.cpp @@ -722,17 +722,16 @@ void plNetLinkingMgr::LinkToPlayersAge( uint32_t playerID ) void plNetLinkingMgr::OfferLinkToPlayer( const plAgeLinkStruct * inInfo, uint32_t playerID ) { - plNetClientMgr *mgr = plNetClientMgr::GetInstance(); - plLinkToAgeMsg * linkM = new plLinkToAgeMsg(inInfo); - linkM->AddReceiver(mgr->GetKey()); + plNetClientMgr* mgr = plNetClientMgr::GetInstance(); + plNetTransport& transport = mgr->TransportMgr(); + int guestIdx = transport.FindMember(playerID); + plNetTransportMember* guestMem = transport.GetMember(guestIdx); // -1 ? - plKey host = mgr->GetLocalPlayerKey(); + if (guestMem) { + plLinkToAgeMsg* linkM = new plLinkToAgeMsg(inInfo); + linkM->AddReceiver(mgr->GetKey()); - plNetTransport &transport = mgr->TransportMgr(); - int guestIdx = transport.FindMember(playerID); - plNetTransportMember *guestMem = transport.GetMember(guestIdx); // -1 ? - if(guestMem) - { + plKey host = mgr->GetLocalPlayerKey(); plKey guest = guestMem->GetAvatarKey(); plAvatarMgr::OfferLinkingBook(host, guest, linkM, host); }