diff options
author | Mitchell Stokes <mogurijin@gmail.com> | 2014-05-13 09:52:14 +0400 |
---|---|---|
committer | Mitchell Stokes <mogurijin@gmail.com> | 2014-05-13 09:53:31 +0400 |
commit | 43f3e79ceeb92c5373b22fb64fdf2ed9c781d5cd (patch) | |
tree | 21ee292d0a924e02ac26a9bea166f53a508e794c /source/gameengine/Ketsji | |
parent | aebcb3bab9679bbcfd6b881fdd1f42b8708450db (diff) |
Fix T40111: replaceMesh() crashes BGE when used on a parented object
The replace mesh code was still calling release() on the parent object when it
no longer needed to (due to earlier commits).
Diffstat (limited to 'source/gameengine/Ketsji')
-rw-r--r-- | source/gameengine/Ketsji/KX_Scene.cpp | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/source/gameengine/Ketsji/KX_Scene.cpp b/source/gameengine/Ketsji/KX_Scene.cpp index c826f39517a..7cab6a8659c 100644 --- a/source/gameengine/Ketsji/KX_Scene.cpp +++ b/source/gameengine/Ketsji/KX_Scene.cpp @@ -1166,8 +1166,6 @@ void KX_Scene::ReplaceMesh(class CValue* obj,void* meshobj, bool use_gfx, bool u #ifdef WITH_BULLET bool bHasSoftBody = (!parentobj && (blendobj->gameflag & OB_SOFT_BODY)); #endif - bool releaseParent = true; - if (oldblendobj==NULL) { if (bHasModifier || bHasShapeKey || bHasDvert || bHasArmature) { @@ -1189,7 +1187,6 @@ void KX_Scene::ReplaceMesh(class CValue* obj,void* meshobj, bool use_gfx, bool u true, static_cast<BL_ArmatureObject*>( parentobj ) ); - releaseParent= false; modifierDeformer->LoadShapeDrivers(parentobj); } else @@ -1217,7 +1214,6 @@ void KX_Scene::ReplaceMesh(class CValue* obj,void* meshobj, bool use_gfx, bool u true, static_cast<BL_ArmatureObject*>( parentobj ) ); - releaseParent= false; shapeDeformer->LoadShapeDrivers(parentobj); } else @@ -1243,7 +1239,6 @@ void KX_Scene::ReplaceMesh(class CValue* obj,void* meshobj, bool use_gfx, bool u true, static_cast<BL_ArmatureObject*>( parentobj ) ); - releaseParent= false; newobj->SetDeformer(skinDeformer); } else if (bHasDvert) @@ -1260,10 +1255,6 @@ void KX_Scene::ReplaceMesh(class CValue* obj,void* meshobj, bool use_gfx, bool u newobj->SetDeformer(softdeformer); } #endif - - // release parent reference if its not being used - if ( releaseParent && parentobj) - parentobj->Release(); } } |