diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-19 08:09:14 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-19 08:18:23 +0300 |
commit | bb6692be8a90f7d86d620557a893c6bb48bdd236 (patch) | |
tree | 7f79d2d0682b6b59a477e2ad370ae4cd023bafd3 /source/blender/windowmanager/intern/wm_keymap.c | |
parent | d718338828c19f6fa1bbaa0530dcc0fbc72e46c4 (diff) |
WM: move keymap handler to it's own type
Illuminate dead code, using wmEventHandler_KeymapFn from gizmo handler
type where it was never set.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_keymap.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index 7d01e4d0553..c170f0589c0 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -1226,20 +1226,22 @@ static wmKeyMapItem *wm_keymap_item_find_handlers( wmKeyMap **r_keymap) { wmWindowManager *wm = CTX_wm_manager(C); - wmEventHandler *handler; wmKeyMap *keymap; /* find keymap item in handlers */ - for (handler = handlers->first; handler; handler = handler->next) { - keymap = WM_keymap_active(wm, handler->keymap); - if (keymap && WM_keymap_poll((bContext *)C, keymap)) { - wmKeyMapItem *kmi = wm_keymap_item_find_in_keymap( - keymap, opname, properties, is_strict, params); - if (kmi != NULL) { - if (r_keymap) { - *r_keymap = keymap; + for (wmEventHandler *handler_base = handlers->first; handler_base; handler_base = handler_base->next) { + if (handler_base->type == WM_HANDLER_TYPE_KEYMAP) { + wmEventHandler_Keymap *handler = (wmEventHandler_Keymap *)handler_base; + keymap = WM_keymap_active(wm, handler->keymap); + if (keymap && WM_keymap_poll((bContext *)C, keymap)) { + wmKeyMapItem *kmi = wm_keymap_item_find_in_keymap( + keymap, opname, properties, is_strict, params); + if (kmi != NULL) { + if (r_keymap) { + *r_keymap = keymap; + } + return kmi; } - return kmi; } } } |