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>2017-03-28 11:15:52 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2017-03-28 11:15:52 +0300
commite1909958d9ec48333a7bfd0d34aede66efc9b1ad (patch)
tree19c53a3a74db9b53e0ece5aef4b03fba7e208190 /source/blender/blenloader
parentbed327f1ce7c64a6e32f610fa26789d69549aaef (diff)
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...
Diffstat (limited to 'source/blender/blenloader')
-rw-r--r--source/blender/blenloader/intern/readfile.c10
1 files changed, 2 insertions, 8 deletions
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;