diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index 59a51436b7b..3ea6dd3d735 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -900,9 +900,15 @@ void BKE_objects_materials_test_all(Main *bmain, ID *id) } BKE_main_lock(bmain); + int processed_objects = 0; for (ob = bmain->objects.first; ob; ob = ob->id.next) { if (ob->data == id) { BKE_object_material_resize(bmain, ob, *totcol, false); + processed_objects++; + BLI_assert(processed_objects <= id->us && processed_objects > 0); + if (processed_objects == id->us) { + break; + } } } BKE_main_unlock(bmain);