From 3325b19ee7fd0df489f818c59b619e0e84c74afb Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 6 Jun 2019 19:05:05 +1000 Subject: Fix T64788: Double keymap entry in preferences A display issue for tools which share keymaps. --- release/scripts/startup/bl_ui/space_toolsystem_common.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to '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', []) # ------------------------------------------------------------------------- -- cgit v1.2.3