[Bf-blender-cvs] [eadbdf170ae] master: Fix T77853: Error reloading linked library.

Bastien Montagne noreply at git.blender.org
Mon Jun 15 15:03:58 CEST 2020


Commit: eadbdf170aeccba498fd9c0e7ef879f2a9f71bd0
Author: Bastien Montagne
Date:   Mon Jun 15 15:02:32 2020 +0200
Branches: master
https://developer.blender.org/rBeadbdf170aeccba498fd9c0e7ef879f2a9f71bd0

Fix T77853: Error reloading linked library.

Issue related to how ID refcounting was changed when loading blendfile
data...

===================================================================

M	source/blender/windowmanager/intern/wm_files_link.c

===================================================================

diff --git a/source/blender/windowmanager/intern/wm_files_link.c b/source/blender/windowmanager/intern/wm_files_link.c
index da4e4160724..3ffd6c4a334 100644
--- a/source/blender/windowmanager/intern/wm_files_link.c
+++ b/source/blender/windowmanager/intern/wm_files_link.c
@@ -759,6 +759,10 @@ static void lib_relocate_do(Main *bmain,
     BLI_addtail(which_libbase(bmain, GS(old_id->name)), old_id);
   }
 
+  /* Since our (old) reloaded IDs were removed from main, the user count done for them in linking
+   * code is wrong, we need to redo it here after adding them back to main. */
+  BKE_main_id_refcount_recompute(bmain, false);
+
   /* Note that in reload case, we also want to replace indirect usages. */
   const short remap_flags = ID_REMAP_SKIP_NEVER_NULL_USAGE |
                             ID_REMAP_NO_INDIRECT_PROXY_DATA_USAGE |



More information about the Bf-blender-cvs mailing list