[Bf-blender-cvs] [aabb8db] blender-v2.76-release: Fix leak in UI Panels
Campbell Barton
noreply at git.blender.org
Wed Sep 23 16:11:51 CEST 2015
Commit: aabb8db753bab618a3ecc5685acd1486cc13bd56
Author: Campbell Barton
Date: Sat Sep 19 17:38:36 2015 +1000
Branches: blender-v2.76-release
https://developer.blender.org/rBaabb8db753bab618a3ecc5685acd1486cc13bd56
Fix leak in UI Panels
Switching screens quickly didn't free the panels activedata.
===================================================================
M source/blender/blenkernel/intern/screen.c
===================================================================
diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c
index 4125a35..7401ef2 100644
--- a/source/blender/blenkernel/intern/screen.c
+++ b/source/blender/blenkernel/intern/screen.c
@@ -308,7 +308,16 @@ void BKE_area_region_free(SpaceType *st, ARegion *ar)
ar->v2d.tab_offset = NULL;
}
- BLI_freelistN(&ar->panels);
+ if (!BLI_listbase_is_empty(&ar->panels)) {
+ Panel *pa, *pa_next;
+ for (pa = ar->panels.first; pa; pa = pa_next) {
+ pa_next = pa->next;
+ if (pa->activedata) {
+ MEM_freeN(pa->activedata);
+ }
+ MEM_freeN(pa);
+ }
+ }
for (uilst = ar->ui_lists.first; uilst; uilst = uilst->next) {
if (uilst->dyn_data) {
More information about the Bf-blender-cvs
mailing list