[Bf-blender-cvs] [ca5dd63618b] blender2.8: Fix toolbar keymap accumulating items
Campbell Barton
noreply at git.blender.org
Fri Nov 23 05:22:06 CET 2018
Commit: ca5dd63618b29df6d5a9c451fc05226e02811844
Author: Campbell Barton
Date: Fri Nov 23 15:16:45 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBca5dd63618b29df6d5a9c451fc05226e02811844
Fix toolbar keymap accumulating items
Create a temporary keymap with items from the original.
===================================================================
M release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
===================================================================
diff --git a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
index 3d861763ad6..97ace1b180b 100644
--- a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
+++ b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py
@@ -77,12 +77,22 @@ def generate(context, space_type):
# Temporary, only create so we can pass 'properties' to find_item_from_operator.
use_hack_properties = True
- km_name = "Toolbar Popup"
+ km_name_default = "Toolbar Popup"
+ km_name = km_name_default + " <temp>"
wm = context.window_manager
keyconf = wm.keyconfigs.active
keymap = keyconf.keymaps.get(km_name)
if keymap is None:
- keymap = keyconf.keymaps.new(km_name, space_type='EMPTY', region_type='TEMPORARY', tool=True)
+ keymap = keyconf.keymaps.new(km_name, space_type='EMPTY', region_type='TEMPORARY')
+ for kmi in keymap.keymap_items:
+ keymap.keymap_items.remove(kmi)
+
+ keymap_src = keyconf.keymaps.get(km_name_default)
+ if keymap_src is not None:
+ for kmi_src in keymap_src.keymap_items:
+ keymap.keymap_items.new_from_item(kmi_src)
+ del keymap_src
+
kmi_unique_args = set()
More information about the Bf-blender-cvs
mailing list