[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [57596] trunk/blender/source/gameengine/ Converter/KX_BlenderSceneConverter.cpp: BGE: fix [#35447] LibLoad Meshes and Scenes causes crash of blender
Daniel Stokes
kupomail at gmail.com
Thu Jun 20 08:17:28 CEST 2013
Revision: 57596
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=57596
Author: kupoman
Date: 2013-06-20 06:17:28 +0000 (Thu, 20 Jun 2013)
Log Message:
-----------
BGE: fix [#35447] LibLoad Meshes and Scenes causes crash of blender
KX_BlenderSceneConverter's destructor freed the contents of several std::vectors without removing those contents from the vectors. Later these vectors are iterated through. Making sure the vectors get cleared solves this problem.
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 2013-06-20 03:52:12 UTC (rev 57595)
+++ trunk/blender/source/gameengine/Converter/KX_BlenderSceneConverter.cpp 2013-06-20 06:17:28 UTC (rev 57596)
@@ -170,6 +170,7 @@
delete (*itw).second;
itw++;
}
+ m_worldinfos.clear();
vector<pair<KX_Scene*,RAS_IPolyMaterial*> >::iterator itp = m_polymaterials.begin();
while (itp != m_polymaterials.end()) {
@@ -177,6 +178,7 @@
delete (*itp).second;
itp++;
}
+ m_polymaterials.clear();
// delete after RAS_IPolyMaterial
vector<pair<KX_Scene*,BL_Material *> >::iterator itmat = m_materials.begin();
@@ -185,6 +187,7 @@
delete (*itmat).second;
itmat++;
}
+ m_materials.clear();
vector<pair<KX_Scene*,RAS_MeshObject*> >::iterator itm = m_meshobjects.begin();
@@ -192,6 +195,7 @@
delete (*itm).second;
itm++;
}
+ m_meshobjects.clear();
#ifdef WITH_BULLET
KX_ClearBulletSharedShapes();
More information about the Bf-blender-cvs
mailing list