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(


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to