[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35632] trunk/blender/source/gameengine/ Converter/KX_BlenderSceneConverter.cpp: Fixing the other crash mentioned in bug #25083.

Mitchell Stokes mogurijin at gmail.com
Sat Mar 19 23:47:51 CET 2011


Revision: 35632
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35632
Author:   moguri
Date:     2011-03-19 22:47:51 +0000 (Sat, 19 Mar 2011)
Log Message:
-----------
Fixing the other crash mentioned in bug #25083. m_current_scene isn't always pointing to valid memory by the time LinkBlendFile is called. So, use the supplied scene_merge scene instead. Scene LibLoad was already doing this, so I just made Mesh and Action follow suit.

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

Modified: trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2011-03-19 22:37:27 UTC (rev 35631)
+++ trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp	2011-03-19 22:47:51 UTC (rev 35632)
@@ -1012,21 +1012,19 @@
 	if(idcode==ID_ME) {
 		/* Convert all new meshes into BGE meshes */
 		ID* mesh;
-		KX_Scene *kx_scene= m_currentScene;
 	
 		for(mesh= (ID *)main_newlib->mesh.first; mesh; mesh= (ID *)mesh->next ) {
 			RAS_MeshObject *meshobj = BL_ConvertMesh((Mesh *)mesh, NULL, scene_merge, this);
-			kx_scene->GetLogicManager()->RegisterMeshName(meshobj->GetName(),meshobj);
+			scene_merge->GetLogicManager()->RegisterMeshName(meshobj->GetName(),meshobj);
 		}
 	}
 	else if(idcode==ID_AC) {
 		/* Convert all actions */
 		ID *action;
-		KX_Scene *kx_scene= m_currentScene;
 
 		for(action= (ID *)main_newlib->action.first; action; action= (ID *)action->next) {
 			printf("ActionName: %s\n", action->name);
-			kx_scene->GetLogicManager()->RegisterActionName(action->name+2, action);
+			scene_merge->GetLogicManager()->RegisterActionName(action->name+2, action);
 		}
 	}
 	else if(idcode==ID_SCE) {		




More information about the Bf-blender-cvs mailing list