diff options
author | Campbell Barton <ideasman42@gmail.com> | 2010-10-26 12:09:13 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2010-10-26 12:09:13 +0400 |
commit | 52551aa23aceaff22612ea9fd4ba1af518aea908 (patch) | |
tree | fa1e0d769d60bafe2ef2b01b0b4d628ca3dda065 /space_view3d_copy_attributes.py | |
parent | 1c53e9126aefaaa8587795de6a2ce3475eeae074 (diff) |
bugfix [#23787] Addon keybindings assume view3d keymaps are available.
Diffstat (limited to 'space_view3d_copy_attributes.py')
-rw-r--r-- | space_view3d_copy_attributes.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/space_view3d_copy_attributes.py b/space_view3d_copy_attributes.py index b2be0ee7..b63f0fd1 100644 --- a/space_view3d_copy_attributes.py +++ b/space_view3d_copy_attributes.py @@ -725,21 +725,28 @@ def _add_tface_buttons(self, context): def register(): ''' mostly to get the keymap working ''' - km = bpy.context.window_manager.keyconfigs['Blender'].\ - keymaps['Object Mode'] + kc = bpy.context.window_manager.keyconfigs['Blender'] + km = kc.keymaps.get("Object Mode") + if km is None: + km = kc.keymaps.new(name="Object Mode") kmi = km.items.new('wm.call_menu', 'C', 'PRESS', ctrl=True) kmi.properties.name = 'VIEW3D_MT_copypopup' - km = bpy.context.window_manager.keyconfigs['Blender'].keymaps['Pose'] - try: - kmi = km.items['pose.copy'] + km = kc.keymaps.get("Pose") + if km is None: + km = kc.keymaps.new(name="Pose") + + kmi = km.items.get("pose.copy") + if kmi is not None: kmi.idname = 'wm.call_menu' - except KeyError: + else: kmi = km.items.new('wm.call_menu', 'C', 'PRESS', ctrl=True) kmi.properties.name = 'VIEW3D_MT_posecopypopup' for menu in _layer_menus: bpy.types.register(menu) bpy.types.DATA_PT_texface.append(_add_tface_buttons) - km = bpy.context.window_manager.keyconfigs.active.keymaps['Mesh'] + km = kc.keymaps.get("Mesh") + if km is None: + km = kc.keymaps.new(name="Mesh") kmi = km.items.new('wm.call_menu', 'C', 'PRESS') kmi.ctrl = True kmi.properties.name = 'MESH_MT_CopyFaceSettings' |