Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-04-07 16:51:14 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-04-07 16:51:35 +0300
commitb41072ec3a0baf30885876ff9a7c6f337b126af3 (patch)
tree647fd3ed50d0cabb0075b6fd8edf9ad246a8892c
parent29f6146c10b4e0685382bec9dfdf8f6ca3257c21 (diff)
Mesh edit tools: Fix error unregistering addong
-rw-r--r--mesh_extra_tools/mesh_pen_tool.py22
-rw-r--r--mesh_extra_tools/vertex_align.py4
-rw-r--r--mesh_extra_tools/vfe_specials.py22
3 files changed, 26 insertions, 22 deletions
diff --git a/mesh_extra_tools/mesh_pen_tool.py b/mesh_extra_tools/mesh_pen_tool.py
index ebe5ae8d..59bdded1 100644
--- a/mesh_extra_tools/mesh_pen_tool.py
+++ b/mesh_extra_tools/mesh_pen_tool.py
@@ -522,6 +522,9 @@ class_list = [pen_tool_panel,
]
+addon_keymaps = []
+
+
def register():
for c in class_list:
bpy.utils.register_class(c)
@@ -529,24 +532,25 @@ def register():
bpy.types.Scene.pen_tool_props = PointerProperty(type=pen_tool_properties)
wm = bpy.context.window_manager
- km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D')
+ km = wm.keyconfigs.addon.keymaps.new(name='3D View X', space_type='VIEW_3D')
# Note: left click + D key is reserved for Grease Pencil draw
kmi = km.keymap_items.new("pen_tool.operator", 'D', 'PRESS', ctrl=True)
+ addon_keymaps.append((km, kmi))
def unregister():
- for c in class_list:
- bpy.utils.unregister_class(c)
+ wm = bpy.context.window_manager
+ kc = wm.keyconfigs.addon
+ if kc:
+ for km, kmi in addon_keymaps:
+ km.keymap_items.remove(kmi)
+ addon_keymaps.clear()
del bpy.types.Scene.pen_tool_props
- wm = bpy.context.window_manager
- km = wm.keyconfigs.addon.keymaps['3D View']
- for kmi in km.keymap_items:
- if kmi.idname == 'pen_tool.operator':
- km.keymap_items.remove(kmi)
- break
+ for c in class_list:
+ bpy.utils.unregister_class(c)
if __name__ == "__main__":
diff --git a/mesh_extra_tools/vertex_align.py b/mesh_extra_tools/vertex_align.py
index d3b5ace6..8b3be88b 100644
--- a/mesh_extra_tools/vertex_align.py
+++ b/mesh_extra_tools/vertex_align.py
@@ -286,11 +286,11 @@ def register():
# ------ ------
def unregister():
+ del bpy.types.Scene.va_custom_props
+
for c in classes:
bpy.utils.unregister_class(c)
- bpy.ops.wm.properties_remove(data_path="scene", property="va_custom_props")
-
# ------ ------
if __name__ == "__main__":
register()
diff --git a/mesh_extra_tools/vfe_specials.py b/mesh_extra_tools/vfe_specials.py
index 4a3e1518..fef66795 100644
--- a/mesh_extra_tools/vfe_specials.py
+++ b/mesh_extra_tools/vfe_specials.py
@@ -71,23 +71,23 @@ def register():
bpy.utils.register_class(cls)
wm = bpy.context.window_manager
- km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D')
- kmi = km.keymap_items.new('mesh.addon_call_context_menu', 'RIGHTMOUSE', 'DOUBLE_CLICK')
+ if wm.keyconfigs.addon:
+ km = wm.keyconfigs.addon.keymaps.new(name='3D View X', space_type='VIEW_3D')
+ kmi = km.keymap_items.new('mesh.addon_call_context_menu', 'RIGHTMOUSE', 'DOUBLE_CLICK')
+ addon_keymaps.append((km, kmi))
def unregister():
+ wm = bpy.context.window_manager
+ kc = wm.keyconfigs.addon
+ if kc:
+ for km, kmi in addon_keymaps:
+ km.keymap_items.remove(kmi)
+ addon_keymaps.clear()
+
for cls in classes:
bpy.utils.unregister_class(cls)
- wm = bpy.context.window_manager
-
- # remove multiselect keybinding
- km = wm.keyconfigs.addon.keymaps['3D View']
- for kmi in km.keymap_items:
- if kmi.idname == 'wm.call_menu':
- if kmi.properties.name == "mesh.addon_call_context_menu":
- km.keymap_items.remove(kmi)
- break
if __name__ == "__main__":