diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-08-21 16:21:53 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-08-21 19:39:44 +0300 |
commit | df6cd591f82c3f7812aebfe6e2ad4cec06343076 (patch) | |
tree | 2997a2313af65a4ba69017285199c366f1e06353 /source/blender/blenkernel | |
parent | f1f33606968eea1688b95631ad4183ce1803cb66 (diff) |
Fix a few unintended changes with new default startup.blend.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_screen.h | 1 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/screen.c | 9 |
2 files changed, 6 insertions, 4 deletions
diff --git a/source/blender/blenkernel/BKE_screen.h b/source/blender/blenkernel/BKE_screen.h index c74170becb4..acf175b5ced 100644 --- a/source/blender/blenkernel/BKE_screen.h +++ b/source/blender/blenkernel/BKE_screen.h @@ -325,6 +325,7 @@ void BKE_spacedata_id_unref(struct ScrArea *sa, struct SpaceLink *sl, struct ID /* area/regions */ struct ARegion *BKE_area_region_copy(struct SpaceType *st, struct ARegion *ar); void BKE_area_region_free(struct SpaceType *st, struct ARegion *ar); +void BKE_area_region_panels_free(struct ListBase *panels); void BKE_screen_area_free(struct ScrArea *sa); /* Gizmo-maps of a region need to be freed with the region. Uses callback to avoid low-level call. */ void BKE_region_callback_free_gizmomap_set(void (*callback)(struct wmGizmoMap *)); diff --git a/source/blender/blenkernel/intern/screen.c b/source/blender/blenkernel/intern/screen.c index c107bb04e6e..58a47dc2822 100644 --- a/source/blender/blenkernel/intern/screen.c +++ b/source/blender/blenkernel/intern/screen.c @@ -361,7 +361,7 @@ void BKE_region_callback_free_gizmomap_set(void (*callback)(struct wmGizmoMap *) region_free_gizmomap_callback = callback; } -static void panel_list_free(ListBase *lb) +void BKE_area_region_panels_free(ListBase *lb) { Panel *pa, *pa_next; for (pa = lb->first; pa; pa = pa_next) { @@ -369,9 +369,10 @@ static void panel_list_free(ListBase *lb) if (pa->activedata) { MEM_freeN(pa->activedata); } - panel_list_free(&pa->children); - MEM_freeN(pa); + BKE_area_region_panels_free(&pa->children); } + + BLI_freelistN(lb); } /* not region itself */ @@ -396,7 +397,7 @@ void BKE_area_region_free(SpaceType *st, ARegion *ar) ar->v2d.tab_offset = NULL; } - panel_list_free(&ar->panels); + BKE_area_region_panels_free(&ar->panels); for (uilst = ar->ui_lists.first; uilst; uilst = uilst->next) { if (uilst->dyn_data) { |