diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2015-09-24 18:24:20 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2015-09-24 18:24:20 +0300 |
commit | 27b3ea622f8bd313a8e2827dfec752bf2125566c (patch) | |
tree | f212e49d224ce8e1cfc3b17a64ae524711494391 /source/blender/windowmanager/intern/wm.c | |
parent | 372dff8d1dc7e24d4b2cd37de245588ecfce8bfa (diff) | |
parent | de80e687689032cb85179a1f7e89750573631d5d (diff) |
Merge remote-tracking branch 'origin/master' into cycles_camera_nodescycles_camera_nodes
Note: the branch currently crashes in blender_camera_nodes.cpp:
BL::NodeTree b_ntree = b_data.node_groups[nodes_tree_name];
The crash was introduced in:
cb7cf523e5c000609f32a382e2c0fcc57f635a42
Conflicts:
intern/cycles/SConscript
intern/cycles/blender/addon/__init__.py
intern/cycles/blender/addon/properties.py
intern/cycles/blender/blender_camera.cpp
intern/cycles/kernel/kernel_types.h
intern/cycles/kernel/svm/svm.h
intern/cycles/kernel/svm/svm_types.h
intern/cycles/render/camera.cpp
intern/cycles/render/camera.h
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); } } |