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:
authorVilem Duha <vilem.duha@gmail.com>2019-04-04 01:34:43 +0300
committerVilem Duha <vilem.duha@gmail.com>2019-04-04 01:34:43 +0300
commit449e2c4072d507c873d0a6246f401293a9abad3c (patch)
tree0534777379a6e6a7e0dafe74844db9176126559e
parentc3c7663ed4e7c8d5e5cb1bdb6ee20c7ed19d47a5 (diff)
BlenderKit: fix unregister - removing draw progress handlers
-rw-r--r--blenderkit/ui.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/blenderkit/ui.py b/blenderkit/ui.py
index 4973b6c3..7d0a3573 100644
--- a/blenderkit/ui.py
+++ b/blenderkit/ui.py
@@ -42,6 +42,9 @@ from mathutils import Vector
import time
import os
+handler_2d = None
+handler_3d = None
+
mappingdict = {
'MODEL': 'model',
'SCENE': 'scene',
@@ -1132,7 +1135,7 @@ class AssetBarOperator(bpy.types.Operator):
if ui_props.has_hit and ui_props.asset_type == 'MODEL':
# this condition is here to fix a bug for a scene submitted by a user, so this situation shouldn't
# happen anymore, but there might exists scenes which have this problem for some reason.
- if ui_props.active_index<len(sr) and ui_props.active_index>-1:
+ if ui_props.active_index < len(sr) and ui_props.active_index > -1:
ui_props.draw_snapped_bounds = True
active_mod = sr[ui_props.active_index]
ui_props.snapped_bbox_min = Vector(active_mod['bbox_min'])
@@ -1338,7 +1341,7 @@ class AssetBarOperator(bpy.types.Operator):
pass
return {'FINISHED'}
- ui_props.dragging = False #only for cases where assetbar ended with an error.
+ ui_props.dragging = False # only for cases where assetbar ended with an error.
ui_props.assetbar_on = True
ui_props.turn_off = False
@@ -1383,12 +1386,15 @@ addon_keymaps = []
def register_ui():
+ global handler_2d, handler_3d
+
for c in classess:
bpy.utils.register_class(c)
args = (None, bpy.context)
- bpy.types.SpaceView3D.draw_handler_add(draw_callback_2d_progress, args, 'WINDOW', 'POST_PIXEL')
- bpy.types.SpaceView3D.draw_handler_add(draw_callback_3d_progress, args, 'WINDOW', 'POST_VIEW')
+
+ handler_2d = bpy.types.SpaceView3D.draw_handler_add(draw_callback_2d_progress, args, 'WINDOW', 'POST_PIXEL')
+ handler_3d = bpy.types.SpaceView3D.draw_handler_add(draw_callback_3d_progress, args, 'WINDOW', 'POST_VIEW')
wm = bpy.context.window_manager
@@ -1404,16 +1410,16 @@ def register_ui():
def unregister_ui():
+ global handler_2d, handler_3d
+
for c in classess:
bpy.utils.unregister_class(c)
args = (None, bpy.context)
- try:
- bpy.types.SpaceView3D.draw_handler_remove(draw_callback_2d_progress, args, 'WINDOW', 'POST_PIXEL')
- bpy.types.SpaceView3D.draw_handler_remove(draw_callback_3d_progress, args, 'WINDOW', 'POST_VIEW')
- except:
- print('handlers allready removed')
+ bpy.types.SpaceView3D.draw_handler_remove(handler_2d, 'WINDOW')
+ bpy.types.SpaceView3D.draw_handler_remove(handler_3d, 'WINDOW')
+
wm = bpy.context.window_manager
if not wm.keyconfigs.addon:
return