mirror of
https://github.com/IfcOpenShell/IfcOpenShell.git
synced 2026-08-09 09:21:46 +00:00
Fixed error on disabling BlenderBIM addon
Error was occuring because macros doesn't have `is_registered` attribute.
Error: Traceback (most recent call last):
File "C:\Software\Steam\steamapps\common\Blender\3.5\scripts\modules\addon_utils.py", line 421, in disable
mod.unregister()
File "\scripts\addons\blenderbim\__init__.py", line 45, in unregister
blenderbim.bim.unregister()
File "\scripts\addons\blenderbim\bim\__init__.py", line 192, in unregister
if cls.is_registered is not False:
AttributeError: type object 'OverrideDuplicateMoveMacro' has no attribute 'is_registered'
Still getting some other error on disabling the addon, seems to happen due ongoing drawing system restructure.
Error: Traceback (most recent call last):
File "C:\Software\Steam\steamapps\common\Blender\3.5\scripts\modules\addon_utils.py", line 421, in disable
mod.unregister()
File "\addons\blenderbim\__init__.py", line 45, in unregister
blenderbim.bim.unregister()
File "\addons\blenderbim\bim\__init__.py", line 177, in unregister
if bpy.data.scenes['Scene'].BIMProperties.module_visibility['drawing'].is_visible:
KeyError: 'bpy_prop_collection[key]: key "drawing" not found'
This commit is contained in:
@@ -172,18 +172,16 @@ def register():
|
||||
|
||||
def unregister():
|
||||
for cls in reversed(classes):
|
||||
if ( #these panels haven't the cls.is_registered attribute
|
||||
cls == blenderbim.bim.module.drawing.gizmos.ExtrusionWidget or
|
||||
cls == blenderbim.bim.module.drawing.gizmos.ExtrusionGuidesGizmo or
|
||||
cls == blenderbim.bim.module.drawing.gizmos.DimensionLabelGizmo or
|
||||
cls == blenderbim.bim.module.drawing.gizmos.DotGizmo or
|
||||
cls == blenderbim.bim.module.drawing.gizmos.UglyDotGizmo
|
||||
):
|
||||
if bpy.data.scenes['Scene'].BIMProperties.module_visibility['drawing'].is_visible is True:
|
||||
# GizmoGroup, Gizmo and Macro doesn't have cls.is_registered attribute
|
||||
if set((bpy.types.GizmoGroup, bpy.types.Gizmo)) & set(cls.__bases__):
|
||||
if bpy.data.scenes["Scene"].BIMProperties.module_visibility["drawing"].is_visible:
|
||||
bpy.utils.unregister_class(cls)
|
||||
continue
|
||||
else:
|
||||
continue
|
||||
continue
|
||||
|
||||
if bpy.types.Macro in cls.__bases__:
|
||||
bpy.utils.unregister_class(cls)
|
||||
continue
|
||||
|
||||
if cls.is_registered is not False:
|
||||
bpy.utils.unregister_class(cls)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user