diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-20 01:19:07 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-20 01:38:33 +0300 |
commit | e53676a5c7f1b58628afe37b648caa43f5c7a907 (patch) | |
tree | e911587270c6bd6eed6d4e7c46f90d983ef9fc83 /source/blender/windowmanager | |
parent | c1c01f062eddd084a122026c462f477299cf9d13 (diff) |
Cleanup: use iterator macros for event handlers
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r-- | source/blender/windowmanager/intern/wm.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_dragdrop.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_event_system.c | 43 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_files.c | 2 | ||||
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 2 |
5 files changed, 16 insertions, 35 deletions
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c index 72b906ce853..ac65bf6a888 100644 --- a/source/blender/windowmanager/intern/wm.c +++ b/source/blender/windowmanager/intern/wm.c @@ -198,7 +198,7 @@ void WM_operator_handlers_clear(wmWindowManager *wm, wmOperatorType *ot) for (win = wm->windows.first; win; win = win->next) { ListBase *lb[2] = {&win->handlers, &win->modalhandlers}; for (int i = 0; i < ARRAY_SIZE(lb); i++) { - for (wmEventHandler *handler_base = lb[i]->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, lb[i]) { if (handler_base->type == WM_HANDLER_TYPE_OP) { wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; if (handler->op && handler->op->type == ot) { diff --git a/source/blender/windowmanager/intern/wm_dragdrop.c b/source/blender/windowmanager/intern/wm_dragdrop.c index 7a066ef4282..fcfc9c8b0ae 100644 --- a/source/blender/windowmanager/intern/wm_dragdrop.c +++ b/source/blender/windowmanager/intern/wm_dragdrop.c @@ -194,7 +194,7 @@ void WM_drag_free_list(struct ListBase *lb) static const char *dropbox_active(bContext *C, ListBase *handlers, wmDrag *drag, const wmEvent *event) { - for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_DROPBOX) { wmEventHandler_Dropbox *handler = (wmEventHandler_Dropbox *)handler_base; if (handler->dropboxes) { diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c index 53c4d4fa5e6..b439d41d063 100644 --- a/source/blender/windowmanager/intern/wm_event_system.c +++ b/source/blender/windowmanager/intern/wm_event_system.c @@ -614,11 +614,7 @@ static void wm_handler_ui_cancel(bContext *C) if (!ar) return; - for (wmEventHandler *handler_base = ar->handlers.first, *handler_base_next; - handler_base; - handler_base = handler_base_next) - { - handler_base_next = handler_base->next; + LISTBASE_FOREACH_MUTABLE (wmEventHandler *, handler_base, &ar->handlers) { if (handler_base->type == WM_HANDLER_TYPE_UI) { wmEventHandler_UI *handler = (wmEventHandler_UI *)handler_base; BLI_assert(handler->handle_fn != NULL); @@ -3246,11 +3242,7 @@ void WM_event_add_fileselect(bContext *C, wmOperator *op) UI_popup_handlers_remove_all(C, &win->modalhandlers); /* only allow 1 file selector open per window */ - for (wmEventHandler *handler_base = win->modalhandlers.first, *handler_base_next; - handler_base; - handler_base = handler_base_next) - { - handler_base_next = handler_base->next; + LISTBASE_FOREACH_MUTABLE (wmEventHandler *, handler_base, &win->modalhandlers) { if (handler_base->type == WM_HANDLER_TYPE_OP) { wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; if (handler->is_fileselect == false) { @@ -3343,7 +3335,7 @@ wmEventHandler_Op *WM_event_add_modal_handler(bContext *C, wmOperator *op) */ void WM_event_modal_handler_area_replace(wmWindow *win, const ScrArea *old_area, ScrArea *new_area) { - for (wmEventHandler *handler_base = win->modalhandlers.first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, &win->modalhandlers) { if (handler_base->type == WM_HANDLER_TYPE_OP) { wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; /* fileselect handler is quite special... it needs to keep old area stored in handler, so don't change it */ @@ -3360,7 +3352,7 @@ void WM_event_modal_handler_area_replace(wmWindow *win, const ScrArea *old_area, */ void WM_event_modal_handler_region_replace(wmWindow *win, const ARegion *old_region, ARegion *new_region) { - for (wmEventHandler *handler_base = win->modalhandlers.first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, &win->modalhandlers) { if (handler_base->type == WM_HANDLER_TYPE_OP) { wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; if (handler->context.region == old_region) { @@ -3379,7 +3371,7 @@ wmEventHandler_Keymap *WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap } /* only allow same keymap once */ - for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_KEYMAP) { wmEventHandler_Keymap *handler = (wmEventHandler_Keymap *)handler_base; if (handler->keymap == keymap) { @@ -3423,7 +3415,7 @@ wmEventHandler_Keymap *WM_event_add_keymap_handler_bb(ListBase *handlers, wmKeyM void WM_event_remove_keymap_handler(ListBase *handlers, wmKeyMap *keymap) { - for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_KEYMAP) { wmEventHandler_Keymap *handler = (wmEventHandler_Keymap *)handler_base; if (handler->keymap == keymap) { @@ -3479,9 +3471,7 @@ void WM_event_remove_ui_handler( wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn, void *user_data, const bool postpone) { - wmEventHandler *handler_base; - - for (handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_UI) { wmEventHandler_UI *handler = (wmEventHandler_UI *)handler_base; if ((handler->handle_fn == handle_fn) && @@ -3506,11 +3496,7 @@ void WM_event_free_ui_handler_all( bContext *C, ListBase *handlers, wmUIHandlerFunc handle_fn, wmUIHandlerRemoveFunc remove_fn) { - for (wmEventHandler *handler_base = handlers->first, *handler_base_next; - handler_base; - handler_base = handler_base_next) - { - handler_base_next = handler_base->next; + LISTBASE_FOREACH_MUTABLE (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_UI) { wmEventHandler_UI *handler = (wmEventHandler_UI *)handler_base; if ((handler->handle_fn == handle_fn) && @@ -3527,7 +3513,7 @@ void WM_event_free_ui_handler_all( wmEventHandler_Dropbox *WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes) { /* only allow same dropbox once */ - for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_DROPBOX) { wmEventHandler_Dropbox *handler = (wmEventHandler_Dropbox *)handler_base; if (handler->dropboxes == dropboxes) { @@ -3549,12 +3535,7 @@ wmEventHandler_Dropbox *WM_event_add_dropbox_handler(ListBase *handlers, ListBas /* XXX solution works, still better check the real cause (ton) */ void WM_event_remove_area_handler(ListBase *handlers, void *area) { - - for (wmEventHandler *handler_base = handlers->first, *handler_base_next; - handler_base; - handler_base = handler_base_next) - { - handler_base_next = handler_base->next; + LISTBASE_FOREACH_MUTABLE (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_UI) { wmEventHandler_UI *handler = (wmEventHandler_UI *)handler_base; if (handler->context.area == area) { @@ -4489,7 +4470,7 @@ static wmKeyMapItem *wm_kmi_from_event( bContext *C, wmWindowManager *wm, ListBase *handlers, const wmEvent *event) { - for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { /* during this loop, ui handlers for nested menus can tag multiple handlers free */ if (handler_base->flag & WM_HANDLER_DO_FREE) { /* pass */ @@ -4760,7 +4741,7 @@ bool WM_window_modal_keymap_status_draw( { wmKeyMap *keymap = NULL; wmOperator *op = NULL; - for (wmEventHandler *handler_base = win->modalhandlers.first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, &win->modalhandlers) { if (handler_base->type == WM_HANDLER_TYPE_OP) { wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; if (handler->op != NULL) { diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c index 670c6604dd0..927a0411c3b 100644 --- a/source/blender/windowmanager/intern/wm_files.c +++ b/source/blender/windowmanager/intern/wm_files.c @@ -1399,7 +1399,7 @@ void wm_autosave_timer(const bContext *C, wmWindowManager *wm, wmTimer *UNUSED(w /* if a modal operator is running, don't autosave, but try again in 10 seconds */ for (wmWindow *win = wm->windows.first; win; win = win->next) { - for (wmEventHandler *handler_base = win->modalhandlers.first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, &win->modalhandlers) { if (handler_base->type == WM_HANDLER_TYPE_OP) { wmEventHandler_Op *handler = (wmEventHandler_Op *)handler_base; if (handler->op) { diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index c170f0589c0..c522378ae32 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -1229,7 +1229,7 @@ static wmKeyMapItem *wm_keymap_item_find_handlers( wmKeyMap *keymap; /* find keymap item in handlers */ - for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + LISTBASE_FOREACH (wmEventHandler *, handler_base, handlers) { if (handler_base->type == WM_HANDLER_TYPE_KEYMAP) { wmEventHandler_Keymap *handler = (wmEventHandler_Keymap *)handler_base; keymap = WM_keymap_active(wm, handler->keymap); |