[Bf-blender-cvs] [a856b12] master: Fix T38726: missing rendered viewport update when removing render layer.
Brecht Van Lommel
noreply at git.blender.org
Wed Feb 26 17:30:48 CET 2014
Commit: a856b123ff1798860cdfee1927d5c7452fa87ed3
Author: Brecht Van Lommel
Date: Wed Feb 26 17:29:50 2014 +0100
https://developer.blender.org/rBa856b123ff1798860cdfee1927d5c7452fa87ed3
Fix T38726: missing rendered viewport update when removing render layer.
===================================================================
M source/blender/render/intern/source/pipeline.c
===================================================================
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index adb8100..50fc9df 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -505,7 +505,6 @@ static int check_mode_full_sample(RenderData *rd)
void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer *srl, int winx, int winy, rcti *disprect)
{
bool had_freestyle = (re->r.mode & R_EDGE_FRS) != 0;
- int prev_actlay = re->r.actlay;
re->ok = TRUE; /* maybe flag */
@@ -609,8 +608,16 @@ void RE_InitState(Render *re, Render *source, RenderData *rd, SceneRenderLayer *
re->result = NULL;
}
else if (re->result) {
+ SceneRenderLayer *actsrl = BLI_findlink(&re->r.layers, re->r.actlay);
+ RenderLayer *rl;
+ bool have_layer = false;
+
+ for (rl = re->result->layers.first; rl; rl = rl->next)
+ if (STREQ(rl->name, actsrl->name))
+ have_layer = true;
+
if (re->result->rectx == re->rectx && re->result->recty == re->recty &&
- prev_actlay == re->r.actlay)
+ have_layer)
{
/* keep render result, this avoids flickering black tiles
* when the preview changes */
More information about the Bf-blender-cvs
mailing list