diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-02-20 06:29:29 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-02-20 06:37:15 +0300 |
commit | effe750ec103d56ff96f12ce64ac977a8ae51909 (patch) | |
tree | fd081fdade0458fa388b55d277034aa38588d146 /source/blender/windowmanager/intern/wm_keymap.c | |
parent | 855b3e68ef272f6ddb3b496cf8e6d074733e99d4 (diff) |
WM: support dynamic keymap handlers
Add getter callback support for 'WM_HANDLER_TYPE_KEYMAP' type handlers
this is needed for key-maps which change based on the active tool.
Replaces 'sneaky_handler' hack which temporarily inserted a handler.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_keymap.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_keymap.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c index c522378ae32..16e4913a206 100644 --- a/source/blender/windowmanager/intern/wm_keymap.c +++ b/source/blender/windowmanager/intern/wm_keymap.c @@ -1226,13 +1226,12 @@ static wmKeyMapItem *wm_keymap_item_find_handlers( wmKeyMap **r_keymap) { wmWindowManager *wm = CTX_wm_manager(C); - wmKeyMap *keymap; /* find keymap item in handlers */ 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); + wmKeyMap *keymap = WM_event_get_keymap_from_handler(wm, handler); if (keymap && WM_keymap_poll((bContext *)C, keymap)) { wmKeyMapItem *kmi = wm_keymap_item_find_in_keymap( keymap, opname, properties, is_strict, params); |