From 3360db83c45ea225162080b43632549dd4f902f0 Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Wed, 20 May 2020 10:39:50 +0200 Subject: Fix T76883: Zero users scenes after undo. Some tags need to be preserved when we reuse existing ID entirely. AFAICT, currently this is only the EXTRAUSER one. --- source/blender/blenloader/intern/readfile.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'source/blender/blenloader') diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 45ebc10e8a2..22862fc1d0d 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -9539,7 +9539,8 @@ static void read_libblock_undo_restore_identical( BLI_assert((fd->skip_flags & BLO_READ_SKIP_UNDO_OLD_MAIN) == 0); BLI_assert(id_old != NULL); - id_old->tag = tag; + /* Some tags need to be preserved here. */ + id_old->tag = tag | (id_old->tag & LIB_TAG_EXTRAUSER); id_old->lib = main->curlib; id_old->us = ID_FAKE_USERS(id_old); /* Do not reset id->icon_id here, memory allocated for it remains valid. */ -- cgit v1.2.3