[Bf-blender-cvs] [cd24871] master: BGE: Fix T44557 GameLogic module memory leak.

Porteries Tristan noreply at git.blender.org
Thu Aug 20 12:21:47 CEST 2015


Commit: cd24871706411b2afd6e098e2b7c95c94bc2de38
Author: Porteries Tristan
Date:   Thu Aug 20 11:53:09 2015 +0200
Branches: master
https://developer.blender.org/rBcd24871706411b2afd6e098e2b7c95c94bc2de38

BGE: Fix T44557 GameLogic module memory leak.

This reverts commit 7a28ca4398465be1d6d57079e4b27c3a03418745.

===================================================================

M	source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp

===================================================================

diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
index dcdc546..4e07af9 100644
--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
@@ -584,22 +584,11 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
 				// inside the GameLogic dictionary when the python interpreter is finalized.
 				// which allows the scene to safely delete them :)
 				// see: (space.c)->start_game
-				
-				//PyDict_Clear(PyModule_GetDict(gameLogic));
-				
-				// Keep original items, means python plugins will autocomplete members
-				PyObject *gameLogic_keys_new = PyDict_Keys(PyModule_GetDict(gameLogic));
-				const Py_ssize_t numitems= PyList_GET_SIZE(gameLogic_keys_new);
-				Py_ssize_t listIndex;
-				for (listIndex=0; listIndex < numitems; listIndex++) {
-					PyObject *item = PyList_GET_ITEM(gameLogic_keys_new, listIndex);
-					if (!PySequence_Contains(gameLogic_keys, item)) {
-						PyDict_DelItem(	PyModule_GetDict(gameLogic), item);
-					}
-				}
-				Py_DECREF(gameLogic_keys_new);
-				gameLogic_keys_new = NULL;
+
+				PyDict_Clear(PyModule_GetDict(gameLogic));
+				PyDict_SetItemString(PyModule_GetDict(gameLogic), "globalDict", pyGlobalDict);
 #endif
+
 				ketsjiengine->StopEngine();
 #ifdef WITH_PYTHON
 				exitGamePythonScripting();




More information about the Bf-blender-cvs mailing list