[Bf-blender-cvs] [d66a27d] master: Fix T48961: Material slots become easily desynced over linked duplicates.

Bastien Montagne noreply at git.blender.org
Thu Jul 28 09:25:26 CEST 2016


Commit: d66a27de2e4920737f59655ffc6802902ef77f4a
Author: Bastien Montagne
Date:   Thu Jul 28 09:23:46 2016 +0200
Branches: master
https://developer.blender.org/rBd66a27de2e4920737f59655ffc6802902ef77f4a

Fix T48961: Material slots become easily desynced over linked duplicates.

Own mistake in recent changes (split to test_object_materials()/test_all_objects_materials()).

===================================================================

M	source/blender/blenkernel/intern/material.c

===================================================================

diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 0be32c9..4701085 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -742,17 +742,18 @@ void assign_material(Object *ob, Material *ma, short act, int assign_type)
 		if (mao)
 			id_us_min(&mao->id);
 		ob->mat[act - 1] = ma;
+		test_object_materials(ob, ob->data);
 	}
 	else {  /* in data */
 		mao = (*matarar)[act - 1];
 		if (mao)
 			id_us_min(&mao->id);
 		(*matarar)[act - 1] = ma;
+		test_all_objects_materials(G.main, ob->data);  /* Data may be used by several objects... */
 	}
 
 	if (ma)
 		id_us_plus(&ma->id);
-	test_object_materials(ob, ob->data);
 }




More information about the Bf-blender-cvs mailing list