diff options
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 491322e06df..a41b0641fc7 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -4027,11 +4027,13 @@ BlendFileData *blo_read_file_internal(FileData *fd, const char *filepath) * does not always properly handle user counts, and/or that function does not take into * account old, deprecated data. */ BKE_main_id_refcount_recompute(bfd->main, false); - - /* After all data has been read and versioned, uses LIB_TAG_NEW. */ - ntreeUpdateAllNew(bfd->main); } + /* After all data has been read and versioned, uses LIB_TAG_NEW. Theoretically this should + * not be calculated in the undo case, but it is currently needed even on undo to recalculate + * a cache. */ + ntreeUpdateAllNew(bfd->main); + placeholders_ensure_valid(bfd->main); BKE_main_id_tag_all(bfd->main, LIB_TAG_NEW, false); |