Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2019-02-20 06:29:29 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-02-20 06:37:15 +0300
commiteffe750ec103d56ff96f12ce64ac977a8ae51909 (patch)
treefd081fdade0458fa388b55d277034aa38588d146 /source/blender/windowmanager/intern/wm_keymap.c
parent855b3e68ef272f6ddb3b496cf8e6d074733e99d4 (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.c3
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);