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)