[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [22668] trunk/blender/source/gameengine/ Converter: fix for own bug added since 2.49a,

Campbell Barton ideasman42 at gmail.com
Fri Aug 21 05:06:37 CEST 2009


Revision: 22668
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22668
Author:   campbellbarton
Date:     2009-08-21 05:06:36 +0200 (Fri, 21 Aug 2009)

Log Message:
-----------
fix for own bug added since 2.49a,
2.49a tries to remove the object from the conversion list every time. Now remove from the conversion list directly without being apart of the remove object function.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
    trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp

Modified: trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2009-08-21 02:51:56 UTC (rev 22667)
+++ trunk/blender/source/gameengine/Converter/BL_BlenderDataConversion.cpp	2009-08-21 03:06:36 UTC (rev 22668)
@@ -2422,8 +2422,11 @@
 					obj->Release();
 			}
 			childrenlist->Release();
+			
 			// now destroy recursively
+			converter->UnregisterGameObject(childobj); // removing objects during conversion make sure this runs too
 			kxscene->RemoveObject(childobj);
+			
 			continue;
 		}
 

Modified: trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2009-08-21 02:51:56 UTC (rev 22667)
+++ trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2009-08-21 03:06:36 UTC (rev 22668)
@@ -492,10 +492,11 @@
 	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);
@@ -507,7 +508,6 @@
 			m_map_blender_to_gameobject.remove(bptr);
 		}
 	}
-#endif
 }
 
 KX_GameObject *KX_BlenderSceneConverter::FindGameObject(





More information about the Bf-blender-cvs mailing list