From 3627541894e2875b74d974abfe9ead60b68c4d05 Mon Sep 17 00:00:00 2001 From: Mitchell Stokes Date: Sat, 10 Aug 2013 21:17:46 +0000 Subject: BGE: Fixing the memory leaks reported when the BlenderPlayer exits. They were caused by not having a free_windowmanager_cb set and by not having registered SpaceTypes, which meant data allocated for thosse SpaceTypes could not be freed. These were solved by defining a free_windowmanager_cb for the player that just frees wmWindows, and by making sure we only allocate memory for registered SpaceTypes. --- source/blender/blenkernel/intern/screen.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/blenkernel/intern/screen.c') diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index 01f57b95378..fe2f52d79fd 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -136,6 +136,11 @@ void BKE_spacetype_register(SpaceType *st) BLI_addtail(&spacetypes, st); } +int BKE_spacetype_exists(int spaceid) +{ + return BKE_spacetype_from_id(spaceid) != NULL; +} + /* ***************** Space handling ********************** */ void BKE_spacedata_freelist(ListBase *lb) -- cgit v1.2.3