[Bf-blender-cvs] [f44a8bd2575] blender2.8: Tool System: store keymap name in tool instead of the keymap

Campbell Barton noreply at git.blender.org
Thu Nov 22 01:08:00 CET 2018


Commit: f44a8bd25751c562ac5a79715c99f79533af3f9c
Author: Campbell Barton
Date:   Thu Nov 22 10:23:40 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBf44a8bd25751c562ac5a79715c99f79533af3f9c

Tool System: store keymap name in tool instead of the keymap

Resetting keymaps caused them to become invalid (crashing on access).

===================================================================

M	release/scripts/startup/bl_ui/space_toolsystem_common.py

===================================================================

diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py
index 94da1966f4d..09a1d961e24 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -306,7 +306,7 @@ class ToolSelectPanelHelper:
         if km is None:
             km = kc.keymaps.new(km_idname, space_type=cls.bl_space_type, region_type='WINDOW', tool=True)
             keymap_fn[0](km)
-        keymap_fn[0] = km
+        keymap_fn[0] = km.name
 
     # Special internal function, gives use items that contain keymaps.
     @staticmethod
@@ -354,9 +354,9 @@ class ToolSelectPanelHelper:
         for context_mode_test, tools in cls.tools_all():
             if context_mode_test == context_mode:
                 for item in cls._tools_flatten_with_keymap(tools):
-                    km = item.keymap[0]
+                    km_name = item.keymap[0]
                     # print((km.name, cls.bl_space_type, 'WINDOW', []))
-                    yield (km.name, cls.bl_space_type, 'WINDOW', [])
+                    yield (km_name, cls.bl_space_type, 'WINDOW', [])
 
     # -------------------------------------------------------------------------
     # Layout Generators
@@ -604,7 +604,7 @@ def _activate_by_item(context, space_type, item, index):
     tool = ToolSelectPanelHelper._tool_active_from_context(context, space_type, create=True)
     tool.setup(
         name=item.text,
-        keymap=item.keymap[0].name if item.keymap is not None else "",
+        keymap=item.keymap[0] if item.keymap is not None else "",
         cursor=item.cursor or 'DEFAULT',
         gizmo_group=item.widget or "",
         data_block=item.data_block or "",



More information about the Bf-blender-cvs mailing list