Browse Source

Merge branch 'hoikas/scenenodes-1'

hoikas/keycollector-1
rarified 5 years ago
parent
commit
8a6bb5cace
  1. 13
      MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPhysX/plPXPhysical.cpp

13
MOULOpenSourceClientPlugin/Plasma20/Sources/Plasma/PubUtilLib/plPhysX/plPXPhysical.cpp

@ -999,7 +999,18 @@ plKey plPXPhysical::GetSceneNode() const
void plPXPhysical::SetSceneNode(plKey newNode) void plPXPhysical::SetSceneNode(plKey newNode)
{ {
// Not Supported plKey oldNode = GetSceneNode();
if (oldNode == newNode)
return;
// If we don't do this, we get leaked keys and a crash on exit with certain clones
// Note this has nothing do to with the world that the physical is in
if (newNode) {
plNodeRefMsg* refMsg = new plNodeRefMsg(newNode, plNodeRefMsg::kOnRequest, -1, plNodeRefMsg::kPhysical);
hsgResMgr::ResMgr()->SendRef(GetKey(), refMsg, plRefFlags::kActiveRef);
}
if (oldNode)
oldNode->Release(GetKey());
} }
///////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////

Loading…
Cancel
Save