Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <montagne29@wanadoo.fr>2016-11-07 17:46:27 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2016-11-07 17:46:27 +0300
commitc1ba58c44dd771770037707cd06eb312e015280f (patch)
treef1a58e6c8a133f6482e9b5eff73ef90bc759de90 /source/blender/blenkernel/intern/library.c
parent93dbd81796df663598df26119e1e1a5c595be840 (diff)
parente74e622776a53e4ab5696d4b6fd17638dc2e9210 (diff)
Merge branch 'master' into blender2.8
Conflicts: intern/cycles/blender/addon/properties.py
Diffstat (limited to 'source/blender/blenkernel/intern/library.c')
-rw-r--r--source/blender/blenkernel/intern/library.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 9abf09a0944..f747bdb91fa 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -1761,7 +1761,8 @@ void BKE_library_make_local(
it->link = NULL;
do_loop = true;
}
- else { /* Only used by linked data, potential candidate to ugly lib-only dependency cycles... */
+ /* Only used by linked data, potential candidate to ugly lib-only dependency cycles... */
+ else if ((id->tag & LIB_TAG_DOIT) == 0) { /* Check TAG_DOIT to avoid adding same ID several times... */
/* Note that we store the node, not directly ID pointer, that way if it->link is set to NULL
* later we can skip it in lib-dependency cycles search later. */
BLI_linklist_prepend_arena(&linked_loop_candidates, it, linklist_mem);
@@ -1804,6 +1805,7 @@ void BKE_library_make_local(
BKE_libblock_unlink(bmain, id, false, false);
BKE_libblock_free(bmain, id);
#endif
+ ((LinkNode *)it->link)->link = NULL; /* Not strictly necessary, but safer (see T49903)... */
it->link = NULL;
}
}