Index: src/effects/SkDashPathEffect.cpp |
diff --git a/src/effects/SkDashPathEffect.cpp b/src/effects/SkDashPathEffect.cpp |
index 24361bd3697bbbc686f4267c149202507e9d4191..f6c7caecd94ee458eb2a0ff76bbc86bd304c0b68 100644 |
--- a/src/effects/SkDashPathEffect.cpp |
+++ b/src/effects/SkDashPathEffect.cpp |
@@ -565,10 +565,12 @@ SkDashPathEffect::SkDashPathEffect(SkReadBuffer& buffer) : INHERITED(buffer) { |
if (useOldPic) { |
fPhase = 0; |
- for (int i = 0; i < fInitialDashIndex; ++i) { |
- fPhase += fIntervals[i]; |
+ if (fInitialDashLength != -1) { // Signal for bad dash interval |
+ for (int i = 0; i < fInitialDashIndex; ++i) { |
+ fPhase += fIntervals[i]; |
+ } |
+ fPhase += fIntervals[fInitialDashIndex] - fInitialDashLength; |
} |
- fPhase += fIntervals[fInitialDashIndex] - fInitialDashLength; |
} else { |
this->setInternalMembers(fPhase); |
} |