Better fix about cls without is_registered method

This commit is contained in:
Massimo Fabbro
2023-04-09 22:33:37 +02:00
parent 17fc46a732
commit ff97aa00ed
+4 -15
View File
@@ -172,22 +172,11 @@ 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 or
cls == blenderbim.bim.module.geometry.operator.OverrideDuplicateMoveMacro or
cls == blenderbim.bim.module.geometry.operator.OverrideDuplicateMoveLinkedMacro
):
if bpy.data.scenes['Scene'].BIMProperties.module_visibility['drawing'].is_visible is True:
bpy.utils.unregister_class(cls)
continue
else:
continue
if cls.is_registered is not False:
if getattr(cls, "is_registered", None) is None:
bpy.utils.unregister_class(cls)
else:
if cls.is_registered is not False:
bpy.utils.unregister_class(cls)
bpy.app.handlers.load_post.remove(handler.setDefaultProperties)
bpy.app.handlers.load_post.remove(handler.loadIfcStore)