Fix Two Pt Radial when circles are concentric.
Review URL: http://codereview.appspot.com/4368047/
git-svn-id: http://skia.googlecode.com/svn/trunk@1069 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/effects/SkGradientShader.cpp b/src/effects/SkGradientShader.cpp
index 3452212..dca87b0 100644
--- a/src/effects/SkGradientShader.cpp
+++ b/src/effects/SkGradientShader.cpp
@@ -1397,9 +1397,13 @@
SkScalarSquare(fDiff.fY));
}
if (matrix) {
- SkScalar invDiffL = SkScalarInvert(diffL);
- matrix->setSinCos(-SkScalarMul(invDiffL, fDiff.fY),
- SkScalarMul(invDiffL, fDiff.fX));
+ if (diffL) {
+ SkScalar invDiffL = SkScalarInvert(diffL);
+ matrix->setSinCos(-SkScalarMul(invDiffL, fDiff.fY),
+ SkScalarMul(invDiffL, fDiff.fX));
+ } else {
+ matrix->reset();
+ }
matrix->preConcat(fPtsToUnit);
}
if (xy) {