[Bf-blender-cvs] [b7ee0912a77] blender2.8: Fix T57921: Crash when loading 2.7x .blend with scene without any render layer.
Bastien Montagne
noreply at git.blender.org
Tue Nov 20 21:51:31 CET 2018
Commit: b7ee0912a7776f444041f25b3103c6b30f4c771a
Author: Bastien Montagne
Date: Tue Nov 20 21:49:49 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBb7ee0912a7776f444041f25b3103c6b30f4c771a
Fix T57921: Crash when loading 2.7x .blend with scene without any render layer.
We need at least one view layer, always. :)
===================================================================
M source/blender/blenloader/intern/versioning_280.c
===================================================================
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index 3211033c327..70c8e374096 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -454,6 +454,7 @@ static void do_version_layers_to_collections(Main *bmain, Scene *scene)
/* Handle legacy render layers. */
bool have_override = false;
+ const bool need_default_renderlayer = scene->r.layers.first == NULL;
for (SceneRenderLayer *srl = scene->r.layers.first; srl; srl = srl->next) {
ViewLayer *view_layer = BKE_view_layer_add(scene, srl->name);
@@ -541,9 +542,9 @@ static void do_version_layers_to_collections(Main *bmain, Scene *scene)
BLI_freelistN(&scene->r.layers);
- /* If render layers included overrides, we also create a vanilla
- * viewport layer without them. */
- if (have_override) {
+ /* If render layers included overrides, or there are no render layers,
+ * we also create a vanilla viewport layer. */
+ if (have_override || need_default_renderlayer) {
ViewLayer *view_layer = BKE_view_layer_add(scene, "Viewport");
/* Make it first in the list. */
More information about the Bf-blender-cvs
mailing list