[Bf-blender-cvs] [3325b19ee7f] master: Fix T64788: Double keymap entry in preferences

Campbell Barton noreply at git.blender.org
Thu Jun 6 11:09:31 CEST 2019


Commit: 3325b19ee7fd0df489f818c59b619e0e84c74afb
Author: Campbell Barton
Date:   Thu Jun 6 19:05:05 2019 +1000
Branches: master
https://developer.blender.org/rB3325b19ee7fd0df489f818c59b619e0e84c74afb

Fix T64788: Double keymap entry in preferences

A display issue for tools which share keymaps.

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

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 c0bb50b6597..1d401ebd2c9 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_common.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py
@@ -379,11 +379,20 @@ class ToolSelectPanelHelper:
     @classmethod
     def keymap_ui_hierarchy(cls, context_mode):
         # See: bpy_extras.keyconfig_utils
+
+        # Keymaps may be shared, don't show them twice.
+        visited = set()
+
         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_name = item.keymap[0]
                     # print((km.name, cls.bl_space_type, 'WINDOW', []))
+
+                    if km_name in visited:
+                        continue
+                    visited.add(km_name)
+
                     yield (km_name, cls.bl_space_type, 'WINDOW', [])
 
     # -------------------------------------------------------------------------



More information about the Bf-blender-cvs mailing list