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>2018-11-27 09:33:52 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-11-27 09:52:15 +0300
commit1f8360171cd80c0c1918486703926709cb5db7aa (patch)
tree25ce56039ec95d156c4eaddc4134d639f3b900c3 /source/blender/windowmanager/intern/wm_event_system.c
parenta58f0eea4f1e9b04e519e123eb656009cf718f9e (diff)
Keymap: share annotation tool keymaps between spaces
Not sharing caused duplication in the keymap and required a factory class generator. Simplify tool & keymap definitions by sharing them. It's highly unlikely we will ever want these to use different keys once they're set as the active tool.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_event_system.c')
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index f760b95a1f2..23c149b46b5 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2860,8 +2860,9 @@ static void wm_event_temp_tool_handler_apply(
if (ar->regiontype == RGN_TYPE_WINDOW) {
bToolRef_Runtime *tref_rt = sa->runtime.tool ? sa->runtime.tool->runtime : NULL;
if (tref_rt && tref_rt->keymap[0]) {
- wmKeyMap *km = WM_keymap_find_all(
+ wmKeyMap *km = WM_keymap_find_all_spaceid_or_empty(
C, tref_rt->keymap, sa->spacetype, RGN_TYPE_WINDOW);
+ /* We shouldn't use keymaps from unrelated spaces. */
if (km != NULL) {
// printf("Keymap: '%s' -> '%s'\n", tref_rt->keymap, sa->runtime.tool->idname);
sneaky_handler->keymap = km;