From e1909958d9ec48333a7bfd0d34aede66efc9b1ad Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Tue, 28 Mar 2017 10:15:52 +0200 Subject: Fix lib_link_cachefile. That one was: * Resetting non-ID pointers (lib_link_xxx funcs should only affect ID pointers, everything else shall be done in direct_link_xxx func). * Even worse, always calling lib_link_animdata, even when LIB_TAG_NEED_LINK tag was unset... --- source/blender/blenloader/intern/readfile.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'source/blender/blenloader') diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 706f4a4606e..18c4034c0dd 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -2713,22 +2713,16 @@ static void lib_link_cachefiles(FileData *fd, Main *bmain) for (CacheFile *cache_file = bmain->cachefiles.first; cache_file; cache_file = cache_file->id.next) { if (cache_file->id.tag & LIB_TAG_NEED_LINK) { IDP_LibLinkProperty(cache_file->id.properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd); + lib_link_animdata(fd, &cache_file->id, cache_file->adt); cache_file->id.tag &= ~LIB_TAG_NEED_LINK; } - - BLI_listbase_clear(&cache_file->object_paths); - cache_file->handle = NULL; - cache_file->handle_mutex = NULL; - - if (cache_file->adt) { - lib_link_animdata(fd, &cache_file->id, cache_file->adt); - } } } static void direct_link_cachefile(FileData *fd, CacheFile *cache_file) { + BLI_listbase_clear(&cache_file->object_paths); cache_file->handle = NULL; cache_file->handle_mutex = NULL; -- cgit v1.2.3