[Bf-blender-cvs] [91713421859] blender-v2.83-release: Fix crash when opening some old/broken .blend files after recent fix.

Bastien Montagne noreply at git.blender.org
Tue Jun 30 12:54:00 CEST 2020


Commit: 91713421859100d152b626ec28fede16d306ea29
Author: Bastien Montagne
Date:   Mon Jun 15 18:48:25 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB91713421859100d152b626ec28fede16d306ea29

Fix crash when opening some old/broken .blend files after recent fix.

Now that `BKE_main_collections_parent_relations_rebuild()` is called
from readfile code, we need to make it resilient to potential NULL
master collection pointer in scenes.

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

M	source/blender/blenkernel/intern/collection.c

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

diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 583bb39a851..eda2c6b01da 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -1138,7 +1138,11 @@ void BKE_main_collections_parent_relations_rebuild(Main *bmain)
   /* Scene's master collections will be 'root' parent of most of our collections, so start with
    * them. */
   for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
-    collection_parents_rebuild_recursive(scene->master_collection);
+    /* This function can be called from readfile.c, when this pointer is not guaranteed to be NULL.
+     */
+    if (scene->master_collection != NULL) {
+      collection_parents_rebuild_recursive(scene->master_collection);
+    }
   }
 
   /* We may have parent chains outside of scene's master_collection context? At least, readfile's



More information about the Bf-blender-cvs mailing list