From 3d92afca7eb1f9c99fa0616dfbb6c264e7002f80 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 19 Nov 2018 11:56:22 +1100 Subject: [PATCH] Fix tool-system popup and tips w/ empty keymap That this looks like an issue loading keymaps correctly, needs to be investigated. --- .../startup/bl_ui/space_toolsystem_common.py | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_toolsystem_common.py b/release/scripts/startup/bl_ui/space_toolsystem_common.py index 24195dcf4dc..5eb34810011 100644 --- a/release/scripts/startup/bl_ui/space_toolsystem_common.py +++ b/release/scripts/startup/bl_ui/space_toolsystem_common.py @@ -688,7 +688,8 @@ def description_from_name(context, space_type, text, *, use_operator=True): if operator is None: if item.keymap is not None: - operator = item.keymap[0].keymap_items[0].idname + if item.keymap[0].keymap_items: + operator = item.keymap[0].keymap_items[0].idname if operator is not None: import _bpy @@ -880,12 +881,16 @@ def keymap_from_context(context, space_type): context='INVOKE_REGION_WIN', )[1] elif item.keymap is not None: - kmi_first = item.keymap[0].keymap_items[0] - kmi_found = wm.keyconfigs.find_item_from_operator( - idname=kmi_first.idname, - # properties=kmi_first.properties, # prevents matches, don't use. - context='INVOKE_REGION_WIN', - )[1] + kmi_first = item.keymap[0].keymap_items + kmi_first = kmi_first[0] if kmi_first else None + if kmi_first is not None: + kmi_found = wm.keyconfigs.find_item_from_operator( + idname=kmi_first.idname, + # properties=kmi_first.properties, # prevents matches, don't use. + context='INVOKE_REGION_WIN', + )[1] + else: + kmi_found = None del kmi_first else: kmi_found = None