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:
authorCampbell Barton <ideasman42@gmail.com>2009-08-21 07:09:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-08-21 07:09:27 +0400
commit5cd51b4387f262fbc2b5de18e9f4b9d02f5d4ca6 (patch)
tree7bb2ea306f00b9030f31e5e38740b03479a10cc1
parent1be67b60fd08f640b56db23e08ad0469318f26b3 (diff)
parent442ba39d49d9453f84791989c9149692b70ddad5 (diff)
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22625:22668
needed this for 2.5 testing
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp3
-rw-r--r--source/gameengine/Converter/KX_BlenderSceneConverter.cpp4
2 files changed, 5 insertions, 2 deletions
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 3d38759d951..6cb4e980a3d 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -2404,8 +2404,11 @@ void BL_ConvertBlenderObjects(struct Main* maggie,
obj->Release();
}
childrenlist->Release();
+
// now destroy recursively
+ converter->UnregisterGameObject(childobj); // removing objects during conversion make sure this runs too
kxscene->RemoveObject(childobj);
+
continue;
}
diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
index 3220672c392..151564391f3 100644
--- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
+++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
@@ -462,10 +462,11 @@ void KX_BlenderSceneConverter::RegisterGameObject(
m_map_blender_to_gameobject.insert(CHashedPtr(for_blenderobject),gameobject);
}
+/* only need to run this during conversion since
+ * m_map_blender_to_gameobject is freed after conversion */
void KX_BlenderSceneConverter::UnregisterGameObject(
KX_GameObject *gameobject)
{
-#if 0
struct Object *bobp= gameobject->GetBlenderObject();
if (bobp) {
CHashedPtr bptr(bobp);
@@ -477,7 +478,6 @@ void KX_BlenderSceneConverter::UnregisterGameObject(
m_map_blender_to_gameobject.remove(bptr);
}
}
-#endif
}
KX_GameObject *KX_BlenderSceneConverter::FindGameObject(