diff options
Diffstat (limited to 'source/blender/windowmanager/intern/wm.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c index d05cc572c45..fe92d80c1bd 100644 --- a/source/blender/windowmanager/intern/wm.c +++ b/source/blender/windowmanager/intern/wm.c @@ -39,8 +39,6 @@ #include "DNA_windowmanager_types.h" -#include "GHOST_C-api.h" - #include "MEM_guardedalloc.h" #include "BLI_utildefines.h" @@ -59,7 +57,6 @@ #include "WM_types.h" #include "wm_window.h" #include "wm_event_system.h" -#include "wm_event_types.h" #include "wm_draw.h" #include "wm.h" @@ -155,7 +152,7 @@ void wm_operator_register(bContext *C, wmOperator *op) int tot; BLI_addtail(&wm->operators, op); - tot = BLI_countlist(&wm->operators); + tot = BLI_listbase_count(&wm->operators); while (tot > MAX_OP_REGISTERED) { wmOperator *opt = wm->operators.first; @@ -231,7 +228,7 @@ uiListType *WM_uilisttype_find(const char *idname, bool quiet) bool WM_uilisttype_add(uiListType *ult) { - BLI_ghash_insert(uilisttypes_hash, (void *)ult->idname, ult); + BLI_ghash_insert(uilisttypes_hash, ult->idname, ult); return 1; } @@ -253,15 +250,14 @@ void WM_uilisttype_init(void) void WM_uilisttype_free(void) { - GHashIterator *iter = BLI_ghashIterator_new(uilisttypes_hash); + GHashIterator gh_iter; - for (; !BLI_ghashIterator_done(iter); BLI_ghashIterator_step(iter)) { - uiListType *ult = BLI_ghashIterator_getValue(iter); + GHASH_ITER (gh_iter, uilisttypes_hash) { + uiListType *ult = BLI_ghashIterator_getValue(&gh_iter); if (ult->ext.free) { ult->ext.free(ult->ext.data); } } - BLI_ghashIterator_free(iter); BLI_ghash_free(uilisttypes_hash, NULL, MEM_freeN); uilisttypes_hash = NULL; @@ -289,7 +285,7 @@ MenuType *WM_menutype_find(const char *idname, bool quiet) bool WM_menutype_add(MenuType *mt) { - BLI_ghash_insert(menutypes_hash, (void *)mt->idname, mt); + BLI_ghash_insert(menutypes_hash, mt->idname, mt); return true; } @@ -312,15 +308,14 @@ void WM_menutype_init(void) void WM_menutype_free(void) { - GHashIterator *iter = BLI_ghashIterator_new(menutypes_hash); + GHashIterator gh_iter; - for (; !BLI_ghashIterator_done(iter); BLI_ghashIterator_step(iter)) { - MenuType *mt = BLI_ghashIterator_getValue(iter); + GHASH_ITER (gh_iter, menutypes_hash) { + MenuType *mt = BLI_ghashIterator_getValue(&gh_iter); if (mt->ext.free) { mt->ext.free(mt->ext.data); } } - BLI_ghashIterator_free(iter); BLI_ghash_free(menutypes_hash, NULL, MEM_freeN); menutypes_hash = NULL; @@ -472,11 +467,13 @@ void wm_close_and_free(bContext *C, wmWindowManager *wm) void wm_close_and_free_all(bContext *C, ListBase *wmlist) { + Main *bmain = CTX_data_main(C); wmWindowManager *wm; while ((wm = wmlist->first)) { wm_close_and_free(C, wm); BLI_remlink(wmlist, wm); + BKE_libblock_free_data(bmain, &wm->id); MEM_freeN(wm); } } |