| Index: src/core/SkScan_Antihair.cpp
|
| diff --git a/src/core/SkScan_Antihair.cpp b/src/core/SkScan_Antihair.cpp
|
| index beddf6320297a5a5870997955a664a29e9653f22..b14e12bab8c8d3157ae37ec73d3b67ca2e3c2d43 100644
|
| --- a/src/core/SkScan_Antihair.cpp
|
| +++ b/src/core/SkScan_Antihair.cpp
|
| @@ -847,7 +847,11 @@ static void inner_scanline(FDot8 L, int top, FDot8 R, U8CPU alpha,
|
| SkASSERT(L < R);
|
|
|
| if ((L >> 8) == ((R - 1) >> 8)) { // 1x1 pixel
|
| - blitter->blitV(L >> 8, top, 1, InvAlphaMul(alpha, R - L));
|
| + FDot8 widClamp = R - L;
|
| + // border case clamp 256 to 255 instead of going through call_hline_blitter
|
| + // see skbug/4406
|
| + widClamp = widClamp - (widClamp >> 8);
|
| + blitter->blitV(L >> 8, top, 1, InvAlphaMul(alpha, widClamp));
|
| return;
|
| }
|
|
|
|
|