Fix T52011: Border render is incorrect with multiple scenes
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 10 Jul 2017 10:17:13 +0000 (12:17 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 10 Jul 2017 10:28:18 +0000 (12:28 +0200)
The code was somewhat weird: it was first copying border/crop settings from
the "source" scene, then was checking border settings of the current scene
and only then was copying border from "source" scene.

Now we first copy border/crop flags, then copy border from source and then
check whether border is a full-frame.

source/blender/render/intern/source/pipeline.c

index 929eae495cf165d2f943cf9b38e64eeeca00c480..e078365e1edf74aac1d24d0c78690211852f2c70 100644 (file)
@@ -723,6 +723,8 @@ void RE_InitState(Render *re, Render *source, RenderData *rd,
                re->r.size = source->r.size;
        }
 
+       re_init_resolution(re, source, winx, winy, disprect);
+
        /* disable border if it's a full render anyway */
        if (re->r.border.xmin == 0.0f && re->r.border.xmax == 1.0f &&
            re->r.border.ymin == 0.0f && re->r.border.ymax == 1.0f)
@@ -730,8 +732,6 @@ void RE_InitState(Render *re, Render *source, RenderData *rd,
                re->r.mode &= ~R_BORDER;
        }
 
-       re_init_resolution(re, source, winx, winy, disprect);
-
        if (re->rectx < 1 || re->recty < 1 || (BKE_imtype_is_movie(rd->im_format.imtype) &&
                                               (re->rectx < 16 || re->recty < 16) ))
        {