Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMitchell Stokes <mogurijin@gmail.com>2014-05-13 09:52:14 +0400
committerMitchell Stokes <mogurijin@gmail.com>2014-05-13 09:53:31 +0400
commit43f3e79ceeb92c5373b22fb64fdf2ed9c781d5cd (patch)
tree21ee292d0a924e02ac26a9bea166f53a508e794c /source/gameengine/Ketsji/KX_Scene.cpp
parentaebcb3bab9679bbcfd6b881fdd1f42b8708450db (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/KX_Scene.cpp')
-rw-r--r--source/gameengine/Ketsji/KX_Scene.cpp9
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();
}
}