[Bf-blender-cvs] [f798c79] master: Libquery: fix double-handling of object pointer in scene's basact base.

Bastien Montagne noreply at git.blender.org
Mon Nov 30 15:37:27 CET 2015

Commit: f798c791cda58e032fb65fe646ad2d68df8ecf69
Author: Bastien Montagne
Date:   Mon Nov 30 15:34:56 2015 +0100
Branches: master

Libquery: fix double-handling of object pointer in scene's basact base.

Looping twice on same ID pointer may not be an issue in master currently, but with work done in id-remap
branch this should be avoided as much as possible, so for now assuming we do not need this here.

Note: if we really need this and have to add it back, then please at least use IDWALK_USER, and not


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


diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c
index d882530..d54f382 100644
--- a/source/blender/blenkernel/intern/library_query.c
+++ b/source/blender/blenkernel/intern/library_query.c
@@ -224,9 +224,8 @@ void BKE_library_foreach_ID_link(ID *id, LibraryIDLinkCallback callback, void *u
 			CALLBACK_INVOKE(scene->nodetree, IDWALK_NOP);
-			if (scene->basact) {
-				CALLBACK_INVOKE(scene->basact->object, IDWALK_NOP);
-			}
+			/* DO NOT handle scene->basact here, it’s doubling with the loop over whole scene->base later,
+			 * since basact is just a pointer to one of those items. */
 			CALLBACK_INVOKE(scene->obedit, IDWALK_NOP);
 			for (srl = scene->r.layers.first; srl; srl = srl->next) {

More information about the Bf-blender-cvs mailing list