diff options
author | Ryan Inch <Imaginer> | 2020-10-26 13:03:25 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2020-10-26 13:08:34 +0300 |
commit | cf6c0760464faf0308ca8d3b52fc0a7aaf91a214 (patch) | |
tree | bf0bc4f60a4985c62bb11bb1f83b1b84edd9a516 /release | |
parent | 042143440d7668d3e357805ffdd20b1a4d2e2975 (diff) |
Fix T82077: Tools popup error in the image editor
Add check for an image space type.
Ref D9347
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/bl_keymap_utils/keymap_from_toolbar.py | 29 |
1 files changed, 19 insertions, 10 deletions
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( |