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
path: root/source
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-02-14 15:26:42 +0300
committerBastien Montagne <bastien@blender.org>2022-02-14 15:26:42 +0300
commit06a492cfdc78049adff6923636faa5d13b90cc57 (patch)
tree025023885e28caf5201d4bd0145cb390bc5f8cea /source
parentc32d3a175de20ab8865cac5ff3c40adf503432f6 (diff)
Fix (studio reported) crash in new resync code.
We do not always resync/replace the root ID of a hierarchy now that we do partial resync.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/lib_override.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c
index f53780d1cbb..02cdd6fcd20 100644
--- a/source/blender/blenkernel/intern/lib_override.c
+++ b/source/blender/blenkernel/intern/lib_override.c
@@ -1696,10 +1696,12 @@ static bool lib_override_library_resync(Main *bmain,
BKE_id_multi_tagged_delete(bmain);
- /* At this point, `id_root` has very likely been deleted, we need to update it to its new
- * version.
+ /* At this point, `id_root` may have been resynced, therefore deleted. In that case we need to
+ * update it to its new version.
*/
- id_root = id_root_reference->newid;
+ if (id_root_reference->newid != NULL) {
+ id_root = id_root_reference->newid;
+ }
if (user_edited_overrides_deletion_count > 0) {
BKE_reportf(reports != NULL ? reports->reports : NULL,