From f798c791cda58e032fb65fe646ad2d68df8ecf69 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 30 Nov 2015 15:34:56 +0100 Subject: [PATCH] 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 IDWALK_NOP flag! --- source/blender/blenkernel/intern/library_query.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c index d8825303219..d54f382f4c0 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->set, IDWALK_NOP); CALLBACK_INVOKE(scene->clip, IDWALK_NOP); 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) {