From fb3e4016ecdf2d5f0ceefbeb4ee75552e07277f8 Mon Sep 17 00:00:00 2001 From: Dion Moult Date: Sun, 26 Mar 2023 18:06:25 +1100 Subject: [PATCH] See #2898. Fix bug where UI data was not refreshed when you switched active materials. --- src/blenderbim/blenderbim/bim/handler.py | 4 ++++ src/blenderbim/blenderbim/bim/ifc.py | 1 + 2 files changed, 5 insertions(+) diff --git a/src/blenderbim/blenderbim/bim/handler.py b/src/blenderbim/blenderbim/bim/handler.py index 03fdf28fb1..769be57465 100644 --- a/src/blenderbim/blenderbim/bim/handler.py +++ b/src/blenderbim/blenderbim/bim/handler.py @@ -101,6 +101,10 @@ def active_object_callback(): refresh_ui_data() +def active_material_index_callback(obj, data): + refresh_ui_data() + + def subscribe_to(object, data_path, callback): try: subscribe_to = object.path_resolve(data_path, False) diff --git a/src/blenderbim/blenderbim/bim/ifc.py b/src/blenderbim/blenderbim/bim/ifc.py index 23adc19367..df53ddb710 100644 --- a/src/blenderbim/blenderbim/bim/ifc.py +++ b/src/blenderbim/blenderbim/bim/ifc.py @@ -320,6 +320,7 @@ class IfcStore: blenderbim.bim.handler.subscribe_to(obj, "diffuse_color", blenderbim.bim.handler.color_callback) elif isinstance(obj, bpy.types.Object): blenderbim.bim.handler.subscribe_to(obj, "mode", blenderbim.bim.handler.mode_callback) + blenderbim.bim.handler.subscribe_to(obj, "active_material_index", blenderbim.bim.handler.active_material_index_callback) for listener in IfcStore.element_listeners: listener(element, obj)