[Bf-blender-cvs] [4d83507f397] master: Cleanup: simplify handler type conditional
Campbell Barton
noreply at git.blender.org
Wed Feb 20 00:06:43 CET 2019
Commit: 4d83507f3979871e0d5ea5ddff8cd833b1cc7d8d
Author: Campbell Barton
Date: Wed Feb 20 09:56:18 2019 +1100
Branches: master
https://developer.blender.org/rB4d83507f3979871e0d5ea5ddff8cd833b1cc7d8d
Cleanup: simplify handler type conditional
Each handler type now has it's own block (fileselect was an exception).
===================================================================
M source/blender/windowmanager/intern/wm_event_system.c
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index e1e53ed5f12..efe8e269404 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2373,6 +2373,7 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
if (handler->flag & WM_HANDLER_BLOCKING)
action |= WM_HANDLER_BREAK;
+ /* Handle all types here. */
if (handler->type == WM_HANDLER_TYPE_KEYMAP) {
wmEventHandler_Keymap *handler_km = (wmEventHandler_Keymap *)handler;
wmKeyMap *keymap = WM_keymap_active(wm, handler_km->keymap);
@@ -2425,15 +2426,6 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
action |= wm_handler_ui_call(C, handler_ui, event, always_pass);
}
}
- else if ((handler->type == WM_HANDLER_TYPE_OP) &&
- ((wmEventHandler_Op *)handler)->is_fileselect)
- {
- wmEventHandler_Op *handler_op = (wmEventHandler_Op *)handler;
- if (!wm->is_interface_locked) {
- /* screen context changes here */
- action |= wm_handler_fileselect_call(C, handlers, handler_op, event);
- }
- }
else if (handler->type == WM_HANDLER_TYPE_DROPBOX) {
wmEventHandler_Dropbox *handler_db = (wmEventHandler_Dropbox *)handler;
if (!wm->is_interface_locked && event->type == EVT_DROP) {
@@ -2607,9 +2599,21 @@ static int wm_handlers_do_intern(bContext *C, wmEvent *event, ListBase *handlers
CTX_wm_area_set(C, area);
CTX_wm_region_set(C, region);
}
+ else if (handler->type == WM_HANDLER_TYPE_OP) {
+ wmEventHandler_Op *handler_op = (wmEventHandler_Op *)handler;
+ if (handler_op->is_fileselect) {
+ if (!wm->is_interface_locked) {
+ /* screen context changes here */
+ action |= wm_handler_fileselect_call(C, handlers, handler_op, event);
+ }
+ }
+ else {
+ action |= wm_handler_operator_call(C, handlers, handler, event, NULL);
+ }
+ }
else {
- /* modal, swallows all */
- action |= wm_handler_operator_call(C, handlers, handler, event, NULL);
+ /* Unreachable (handle all types above). */
+ BLI_assert(0);
}
if (action & WM_HANDLER_BREAK) {
More information about the Bf-blender-cvs
mailing list