diff options
author | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2011-11-06 16:23:44 +0400 |
---|---|---|
committer | Tamito Kajiyama <rd6t-kjym@asahi-net.or.jp> | 2011-11-06 16:23:44 +0400 |
commit | 72cfdfec3083cbb756ff07c860293be9ca25f8b4 (patch) | |
tree | 66c7932624d537fc008b244b58c5ad11547d6dee /source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp | |
parent | ea11efb082ccc4449db3c91f71ae623c29a88c51 (diff) |
Fix for a crash when two scenes in the compositor have different render
resolution (i.e., image width and height, scaled by the size factor).
Problem report by flokkievids together with a .blend file for reproducing
the bug, thanks!
Diffstat (limited to 'source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp')
-rw-r--r-- | source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp index 03a6e1ff861..d88331b7a04 100644 --- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp +++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp @@ -88,13 +88,12 @@ extern "C" { //======================================================= static void init_view(Render* re){ - float ycor = ((float)re->r.yasp) / ((float)re->r.xasp); - int width = re->r.xsch; - int height = (int)(((float)re->r.ysch) * ycor); - int xmin = re->r.border.xmin * width; - int xmax = re->r.border.xmax * width; - int ymin = re->r.border.ymin * height; - int ymax = re->r.border.ymax * height; + int width = re->winx; + int height = re->winy; + int xmin = re->disprect.xmin; + int ymin = re->disprect.ymin; + int xmax = re->disprect.xmax; + int ymax = re->disprect.ymax; freestyle_viewport[0] = freestyle_viewport[1] = 0; freestyle_viewport[2] = width; @@ -384,7 +383,7 @@ extern "C" { rectx = re->rectx; recty = re->recty; - for( y = 0; y < recty; y++) { + for( y = 0; y < recty; y++) { for( x = 0; x < rectx; x++) { pixSrc = src + 4 * (rectx * y + x); if( pixSrc[3] > 0.0) { |