Alternative fix for T39941, this also fixes odd behavior of rendered preview.

The rendered preview didn't show active layer or wasn't updated if the
layer was disabled. Now the viewport always shows an active layer regardless
of whether it's enabled or disabled.
This commit is contained in:
Shinsuke Irie 2014-04-30 15:29:03 +09:00
parent c7612d68b2
commit 6ec2d72eca
Notes: blender-bot 2023-02-14 10:43:46 +01:00
Referenced by issue #39941, Freestyle: Rendered preview crashes when non-primary render layer is selected and disabled.
1 changed files with 8 additions and 6 deletions

View File

@ -481,10 +481,14 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf
if (strcmp(srl->name, layername) != 0)
continue;
if ((re->r.scemode & R_SINGLE_LAYER) && nr != re->r.actlay)
continue;
if (srl->layflag & SCE_LAY_DISABLE)
continue;
if (re->r.scemode & R_SINGLE_LAYER) {
if (nr != re->r.actlay)
continue;
}
else {
if (srl->layflag & SCE_LAY_DISABLE)
continue;
}
rl = MEM_callocN(sizeof(RenderLayer), "new render layer");
BLI_addtail(&rr->layers, rl);
@ -604,8 +608,6 @@ RenderResult *render_result_new(Render *re, rcti *partrct, int crop, int savebuf
rl->passflag = SCE_PASS_COMBINED;
re->r.actlay = 0;
srl = BLI_findlink(&re->r.layers, re->r.actlay);
BLI_strncpy(rl->name, srl->name, sizeof(rl->name));
}
/* border render; calculate offset for use in compositor. compo is centralized coords */