[Bf-blender-cvs] [bcfd8d9] master: Correct recent own fix to id_clear_lib_data_ex().

Bastien Montagne noreply at git.blender.org
Thu Jul 14 18:33:28 CEST 2016


Commit: bcfd8d9ab82501047f11da8c3f039142dfd9e8f8
Author: Bastien Montagne
Date:   Thu Jul 14 18:16:05 2016 +0200
Branches: master
https://developer.blender.org/rBbcfd8d9ab82501047f11da8c3f039142dfd9e8f8

Correct recent own fix to id_clear_lib_data_ex().

Datablocks' nodetree are *never* in main, while shapekeys are...

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

M	source/blender/blenkernel/intern/library.c
M	source/blender/blenloader/intern/readfile.c

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

diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 37f64ba..c123b5e 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1483,12 +1483,12 @@ void id_clear_lib_data_ex(Main *bmain, ID *id, bool id_in_mainlist)
 
 	/* Internal bNodeTree blocks inside datablocks also stores id->lib, make sure this stays in sync. */
 	if ((ntree = ntreeFromID(id))) {
-		id_clear_lib_data_ex(bmain, &ntree->id, id_in_mainlist);
+		id_clear_lib_data_ex(bmain, &ntree->id, false);  /* Datablocks' nodetree is never in Main. */
 	}
 
 	/* Same goes for shapekeys. */
 	if ((key = BKE_key_from_id(id))) {
-		id_clear_lib_data_ex(bmain, &key->id, id_in_mainlist);
+		id_clear_lib_data_ex(bmain, &key->id, id_in_mainlist);  /* sigh, why are keys in Main? */
 	}
 
 	if (GS(id->name) == ID_OB) {
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 79cd8a7..a25b56b 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -2713,7 +2713,7 @@ static void lib_link_node_socket(FileData *fd, ID *UNUSED(id), bNodeSocket *sock
 	IDP_LibLinkProperty(sock->prop, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
 }
 
-/* singe node tree (also used for material/scene trees), ntree is not NULL */
+/* Single node tree (also used for material/scene trees), ntree is not NULL */
 static void lib_link_ntree(FileData *fd, ID *id, bNodeTree *ntree)
 {
 	bNode *node;




More information about the Bf-blender-cvs mailing list