From cf6c0760464faf0308ca8d3b52fc0a7aaf91a214 Mon Sep 17 00:00:00 2001 From: Ryan Inch Date: Mon, 26 Oct 2020 21:03:25 +1100 Subject: Fix T82077: Tools popup error in the image editor Add check for an image space type. Ref D9347 --- .../modules/bl_keymap_utils/keymap_from_toolbar.py | 29 ++++++++++++++-------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'release/scripts') 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 e18cca7fe25..ebc5370a7af 100644 --- a/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py +++ b/release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py @@ -192,16 +192,25 @@ def generate(context, space_type, use_fallback_keys=True, use_reset=True): # PAINT_OT_brush_select mode = context.active_object.mode # See: BKE_paint_get_tool_prop_id_from_paintmode - attr = { - 'SCULPT': "sculpt_tool", - 'VERTEX_PAINT': "vertex_tool", - 'WEIGHT_PAINT': "weight_tool", - 'TEXTURE_PAINT': "image_tool", - 'PAINT_GPENCIL': "gpencil_tool", - 'VERTEX_GPENCIL': "gpencil_vertex_tool", - 'SCULPT_GPENCIL': "gpencil_sculpt_tool", - 'WEIGHT_GPENCIL': "gpencil_weight_tool", - }.get(mode, None) + if space_type == 'IMAGE_EDITOR': + if context.space_data.ui_mode == 'PAINT': + attr = "image_tool" + else: + attr = None + elif space_type == 'VIEW_3D': + attr = { + 'SCULPT': "sculpt_tool", + 'VERTEX_PAINT': "vertex_tool", + 'WEIGHT_PAINT': "weight_tool", + 'TEXTURE_PAINT': "image_tool", + 'PAINT_GPENCIL': "gpencil_tool", + 'VERTEX_GPENCIL': "gpencil_vertex_tool", + 'SCULPT_GPENCIL': "gpencil_sculpt_tool", + 'WEIGHT_GPENCIL': "gpencil_weight_tool", + }.get(mode, None) + else: + attr = None + if attr is not None: setattr(kmi_hack_brush_select_properties, attr, item.data_block) kmi_found = wm.keyconfigs.find_item_from_operator( -- cgit v1.2.3