[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35790] trunk/blender: print guarded-alloc memory leaks on blenderplayer exit.
Campbell Barton
ideasman42 at gmail.com
Sat Mar 26 05:51:02 CET 2011
Revision: 35790
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35790
Author: campbellbarton
Date: 2011-03-26 04:50:59 +0000 (Sat, 26 Mar 2011)
Log Message:
-----------
print guarded-alloc memory leaks on blenderplayer exit.
Modified Paths:
--------------
trunk/blender/release/scripts/templates/background_job.py
trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
Modified: trunk/blender/release/scripts/templates/background_job.py
===================================================================
--- trunk/blender/release/scripts/templates/background_job.py 2011-03-26 03:42:59 UTC (rev 35789)
+++ trunk/blender/release/scripts/templates/background_job.py 2011-03-26 04:50:59 UTC (rev 35790)
@@ -84,8 +84,6 @@
usage_text = "Run blender in background mode with this script:"
usage_text += " blender --background --python " + __file__ + " -- [options]"
- print(usage_text)
-
parser = argparse.ArgumentParser(description=usage_text)
# Example background utility, add some text and renders or saves it (with options)
Modified: trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp 2011-03-26 03:42:59 UTC (rev 35789)
+++ trunk/blender/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp 2011-03-26 04:50:59 UTC (rev 35790)
@@ -115,6 +115,12 @@
char bprogname[FILE_MAX];
+static void mem_error_cb(const char *errorStr)
+{
+ fprintf(stderr, "%s", errorStr);
+ fflush(stderr);
+}
+
#ifdef WIN32
typedef enum
{
@@ -834,9 +840,10 @@
// GPG_Application app (system, maggie, startscenename);
app.SetGameEngineData(maggie, scene, argc, argv); /* this argc cant be argc_py_clamped, since python uses it */
-
BLI_strncpy(pathname, maggie->name, sizeof(pathname));
- BLI_strncpy(G.main->name, maggie->name, sizeof(G.main->name));
+ if(G.main != maggie) {
+ BLI_strncpy(G.main->name, maggie->name, sizeof(G.main->name));
+ }
#ifdef WITH_PYTHON
setGamePythonPath(G.main->name);
#endif
@@ -956,6 +963,13 @@
SYS_DeleteSystem(syshandle);
+ int totblock= MEM_get_memory_blocks_in_use();
+ if(totblock!=0) {
+ printf("Error Totblock: %d\n",totblock);
+ MEM_set_error_callback(mem_error_cb);
+ MEM_printmemlist();
+ }
+
return error ? -1 : 0;
}
More information about the Bf-blender-cvs
mailing list