| Index: src/gpu/GrAARectRenderer.cpp | 
| =================================================================== | 
| --- src/gpu/GrAARectRenderer.cpp	(revision 9828) | 
| +++ src/gpu/GrAARectRenderer.cpp	(working copy) | 
| @@ -472,7 +472,11 @@ | 
| if (useVertexCoverage) { | 
| innerColor = GrColorPackRGBA(scale, scale, scale, scale); | 
| } else { | 
| -        innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); | 
| +        if (0xff == scale) { | 
| +            innerColor = target->getDrawState().getColor(); | 
| +        } else { | 
| +            innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); | 
| +        } | 
| } | 
|  | 
| verts += 4 * vsize; | 
| @@ -724,6 +728,7 @@ | 
| GrPoint* fan2Pos = reinterpret_cast<GrPoint*>(verts + 8 * vsize); | 
| GrPoint* fan3Pos = reinterpret_cast<GrPoint*>(verts + 12 * vsize); | 
|  | 
| +#ifndef SK_IGNORE_THIN_STROKED_RECT_FIX | 
| // TODO: this only really works if the X & Y margins are the same all around | 
| // the rect | 
| SkScalar inset = SkMinScalar(SK_Scalar1, devOutside.fRight - devInside.fRight); | 
| @@ -731,6 +736,9 @@ | 
| inset = SkMinScalar(inset, devInside.fTop - devOutside.fTop); | 
| inset = SK_ScalarHalf * SkMinScalar(inset, devOutside.fBottom - devInside.fBottom); | 
| SkASSERT(inset >= 0); | 
| +#else | 
| +    SkScalar inset = SK_ScalarHalf; | 
| +#endif | 
|  | 
| // outermost | 
| set_inset_fan(fan0Pos, vsize, devOutside, -SK_ScalarHalf, -SK_ScalarHalf); | 
| @@ -759,7 +767,11 @@ | 
| if (useVertexCoverage) { | 
| innerColor = GrColorPackRGBA(scale, scale, scale, scale); | 
| } else { | 
| -        innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); | 
| +        if (0xff == scale) { | 
| +            innerColor = target->getDrawState().getColor(); | 
| +        } else { | 
| +            innerColor = SkAlphaMulQ(target->getDrawState().getColor(), scale); | 
| +        } | 
| } | 
|  | 
| verts += 4 * vsize; | 
|  |