[Bf-blender-cvs] [6002487] master: Fix T41355: Make-local looses linked modifiers texture

Campbell Barton noreply at git.blender.org
Tue Aug 26 11:16:40 CEST 2014


Commit: 600248783b50ddef9b809b0d4c7abd9a9b20fda3
Author: Campbell Barton
Date:   Tue Aug 26 19:11:00 2014 +1000
Branches: master
https://developer.blender.org/rB600248783b50ddef9b809b0d4c7abd9a9b20fda3

Fix T41355: Make-local looses linked modifiers texture

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

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

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

diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index ef4df8b..78f57b1 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -1526,6 +1526,18 @@ Object *BKE_object_copy(Object *ob)
 	return BKE_object_copy_ex(G.main, ob, false);
 }
 
+static void extern_local_object__modifiersForeachIDLink(
+        void *UNUSED(userData), Object *UNUSED(ob),
+        ID **idpoin)
+{
+	if (*idpoin) {
+		/* intentionally omit ID_OB */
+		if (ELEM(GS((*idpoin)->name), ID_IM, ID_TE)) {
+			id_lib_extern(*idpoin);
+		}
+	}
+}
+
 static void extern_local_object(Object *ob)
 {
 	ParticleSystem *psys;
@@ -1539,6 +1551,8 @@ static void extern_local_object(Object *ob)
 
 	for (psys = ob->particlesystem.first; psys; psys = psys->next)
 		id_lib_extern((ID *)psys->part);
+
+	modifiers_foreachIDLink(ob, extern_local_object__modifiersForeachIDLink, NULL);
 }
 
 void BKE_object_make_local(Object *ob)




More information about the Bf-blender-cvs mailing list