Index: C:/Users/jfs/Dev/Aegisub/vsfilter/subtitles/Rasterizer.cpp =================================================================== --- C:/Users/jfs/Dev/Aegisub/vsfilter/subtitles/Rasterizer.cpp (revision 2281) +++ C:/Users/jfs/Dev/Aegisub/vsfilter/subtitles/Rasterizer.cpp (revision 2282) @@ -344,6 +344,7 @@ mOutline.clear(); mWideOutline.clear(); + mWideBorder = 0; // Determine bounding box @@ -649,7 +650,9 @@ if(rx < 0) rx = 0; if(ry < 0) ry = 0; - if (ry > 0 && rx > 0) + mWideBorder = max(rx,ry); + + if (ry > 0) { // Do a half circle. // _OverlapRegion mirrors this so both halves are done. @@ -657,8 +660,7 @@ { int x = (int)(0.5 + sqrt(float(ry*ry - y*y)) * float(rx)/float(ry)); - // If x=0 nothing will be drawn for this overlap, not sure why - _OverlapRegion(mWideOutline, mOutline, max(x,1), y); + _OverlapRegion(mWideOutline, mOutline, x, y); } } else if (ry == 0 && rx > 0) @@ -668,8 +670,6 @@ _OverlapRegion(mWideOutline, mOutline, rx, 0); } - mWideBorder = max(rx,ry); - return true; }