From d38608ea0428658642c1099a8071c4dede619acd Mon Sep 17 00:00:00 2001 From: Andrej730 Date: Thu, 23 Jan 2025 13:29:12 +0500 Subject: [PATCH] Fix UI errors with not unset active library id after disabling editing It lead to UI errors when library was removed and Bonsai was still trying to get it from active_library_id. --- src/bonsai/bonsai/core/library.py | 1 + src/bonsai/bonsai/tool/library.py | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bonsai/bonsai/core/library.py b/src/bonsai/bonsai/core/library.py index 3f0e454c94..4b08f771bb 100644 --- a/src/bonsai/bonsai/core/library.py +++ b/src/bonsai/bonsai/core/library.py @@ -41,6 +41,7 @@ def enable_editing_library_references(library_tool: tool.Library, library: ifcop def disable_editing_library_references(library: tool.Library) -> None: library.clear_editing_mode() + library.set_active_library(None) def enable_editing_library(library: tool.Library) -> None: diff --git a/src/bonsai/bonsai/tool/library.py b/src/bonsai/bonsai/tool/library.py index 9199a4d4e5..0bf8c3ec9c 100644 --- a/src/bonsai/bonsai/tool/library.py +++ b/src/bonsai/bonsai/tool/library.py @@ -73,8 +73,12 @@ class Library(bonsai.core.tool.Library): new.name = reference.Name or "Unnamed" @classmethod - def set_active_library(cls, library: ifcopenshell.entity_instance) -> None: - bpy.context.scene.BIMLibraryProperties.active_library_id = library.id() + def set_active_library(cls, library: Union[ifcopenshell.entity_instance, None]) -> None: + props = bpy.context.scene.BIMLibraryProperties + if library is None: + props.active_library_id = 0 + else: + props.active_library_id = library.id() @classmethod def set_active_reference(cls, reference: ifcopenshell.entity_instance) -> None: