From: Kester Maddock Date: Sat, 8 May 2004 00:25:20 +0000 (+0000) Subject: Delete all SOLID shapes at the end of the game engine. They were all being leaked! X-Git-Url: https://git.blender.org/gitweb/gitweb.cgi/blender-staging.git/commitdiff_plain/bd50d2f9cdaa5f84434cc3c5ba58fec94b84fdab Delete all SOLID shapes at the end of the game engine. They were all being leaked! --- diff --git a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp index ff22e003d75..8e552d3f3d4 100644 --- a/source/gameengine/Converter/KX_BlenderSceneConverter.cpp +++ b/source/gameengine/Converter/KX_BlenderSceneConverter.cpp @@ -117,6 +117,8 @@ KX_BlenderSceneConverter::~KX_BlenderSceneConverter() delete (*itm); itm++; } + + KX_ClearSumoSharedShapes(); } diff --git a/source/gameengine/Ketsji/KX_ConvertPhysicsObject.h b/source/gameengine/Ketsji/KX_ConvertPhysicsObject.h index 3ed3e2bfa8f..0cf305dd14b 100644 --- a/source/gameengine/Ketsji/KX_ConvertPhysicsObject.h +++ b/source/gameengine/Ketsji/KX_ConvertPhysicsObject.h @@ -108,6 +108,8 @@ void KX_ConvertSumoObject( class KX_GameObject* gameobj, struct PHY_ShapeProps* shapeprops, struct PHY_MaterialProps* smmaterial, struct KX_ObjectProperties* objprop); + +void KX_ClearSumoSharedShapes(); #endif #endif //KX_CONVERTPHYSICSOBJECTS diff --git a/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp b/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp index 72231c1fa64..3e0c7768f56 100644 --- a/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp +++ b/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp @@ -77,7 +77,7 @@ #include "KX_SumoPhysicsController.h" -GEN_Map map_gamemesh_to_sumoshape; +static GEN_Map map_gamemesh_to_sumoshape; // forward declarations void BL_RegisterSumoObject(KX_GameObject* gameobj,class SM_Scene* sumoScene,class SM_Object* sumoObj,const STR_String& matname,bool isDynamic,bool isActor); diff --git a/source/gameengine/Physics/Sumo/Fuzzics/src/SM_FhObject.cpp b/source/gameengine/Physics/Sumo/Fuzzics/src/SM_FhObject.cpp index c6134bde8f8..e905459ce21 100644 --- a/source/gameengine/Physics/Sumo/Fuzzics/src/SM_FhObject.cpp +++ b/source/gameengine/Physics/Sumo/Fuzzics/src/SM_FhObject.cpp @@ -46,6 +46,7 @@ SM_FhObject::SM_FhObject(DT_ShapeHandle rayshape, MT_Vector3 ray, SM_Object *par SM_FhObject::~SM_FhObject() { + DT_DeleteShape(getShapeHandle()); } DT_Bool SM_FhObject::ray_hit(void *client_data,