Revision: 14482
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14482
Author: ben2610
Date: 2008-04-19 23:15:37 +0200 (Sat, 19 Apr 2008)
Log Message:
-----------
BGE bug fix: crash at exit when object with Radar/Near sensor has debug
properties
Modified Paths:
--------------
trunk/blender/source/gameengine/GameLogic/SCA_IScene.cpp
trunk/blender/source/gameengine/GameLogic/SCA_IScene.h
trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
Modified: trunk/blender/source/gameengine/GameLogic/SCA_IScene.cpp
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_IScene.cpp 2008-04-19
21:09:40 UTC (rev 14481)
+++ trunk/blender/source/gameengine/GameLogic/SCA_IScene.cpp 2008-04-19
21:15:37 UTC (rev 14482)
@@ -47,19 +47,23 @@
{
}
-
-
-SCA_IScene::~SCA_IScene()
+void SCA_IScene::RemoveAllDebugProperties()
{
- // release debugprop list
for (std::vector<SCA_DebugProp*>::iterator it = m_debugList.begin();
!(it==m_debugList.end());it++)
{
delete (*it);
}
+ m_debugList.clear();
}
+SCA_IScene::~SCA_IScene()
+{
+ RemoveAllDebugProperties();
+}
+
+
std::vector<SCA_DebugProp*>& SCA_IScene::GetDebugProperties()
{
return m_debugList;
Modified: trunk/blender/source/gameengine/GameLogic/SCA_IScene.h
===================================================================
--- trunk/blender/source/gameengine/GameLogic/SCA_IScene.h 2008-04-19
21:09:40 UTC (rev 14481)
+++ trunk/blender/source/gameengine/GameLogic/SCA_IScene.h 2008-04-19
21:15:37 UTC (rev 14482)
@@ -59,6 +59,7 @@
std::vector<SCA_DebugProp*>& GetDebugProperties();
void AddDebugProperty(class CValue* debugprop,
const
STR_String &name);
+ void RemoveAllDebugProperties();
};
#endif //__KX_ISCENE_H
Modified: trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp 2008-04-19 21:09:40 UTC
(rev 14481)
+++ trunk/blender/source/gameengine/Ketsji/KX_Scene.cpp 2008-04-19 21:15:37 UTC
(rev 14482)
@@ -178,7 +178,11 @@
KX_Scene::~KX_Scene()
{
-
+ // The release of debug properties used to be in SCA_IScene::~SCA_IScene
+ // It's still there but we remove all properties here otherwise some
+ // reference might be hanging and causing late release of objects
+ RemoveAllDebugProperties();
+
while (GetRootParentList()->GetCount() > 0)
{
KX_GameObject* parentobj = (KX_GameObject*)
GetRootParentList()->GetValue(0);
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs