[Bf-extensions-cvs] [449e2c40] master: BlenderKit: fix unregister - removing draw progress handlers
Vilem Duha
noreply at git.blender.org
Thu Apr 4 00:44:51 CEST 2019
Commit: 449e2c4072d507c873d0a6246f401293a9abad3c
Author: Vilem Duha
Date: Thu Apr 4 00:34:43 2019 +0200
Branches: master
https://developer.blender.org/rBA449e2c4072d507c873d0a6246f401293a9abad3c
BlenderKit: fix unregister - removing draw progress handlers
===================================================================
M blenderkit/ui.py
===================================================================
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
More information about the Bf-extensions-cvs
mailing list