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:
Andrej730
2023-04-10 18:05:13 +05:00
parent 4e94d0dc10
commit ffdaa8c417
+10
View File
@@ -172,6 +172,16 @@ def register():
def unregister():
for cls in reversed(classes):
# 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
if bpy.types.Macro in cls.__bases__:
bpy.utils.unregister_class(cls)
continue
if getattr(cls, "is_registered", None) is None:
bpy.utils.unregister_class(cls)
else: