Fix T57921: Crash when loading 2.7x .blend with scene without any render layer.

We need at least one view layer, always. :)
This commit is contained in:
Bastien Montagne 2018-11-20 21:49:49 +01:00
parent 3a13b89296
commit b7ee0912a7
Notes: blender-bot 2023-02-14 05:00:07 +01:00
Referenced by issue #57921, Crash on loading 2.79x-master file
1 changed files with 4 additions and 3 deletions

View File

@ -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. */