| Index: src/core/SkStroke.cpp
 | 
| diff --git a/src/core/SkStroke.cpp b/src/core/SkStroke.cpp
 | 
| index 1689f9730b008716e2217fb756953d2b48ede1b4..522a000712f875f22bcfa2fdee65eba13ba1a240 100644
 | 
| --- a/src/core/SkStroke.cpp
 | 
| +++ b/src/core/SkStroke.cpp
 | 
| @@ -619,6 +619,10 @@
 | 
|      SkPoint reduction;
 | 
|      ReductionType reductionType = CheckConicLinear(conic, &reduction);
 | 
|      if (kPoint_ReductionType == reductionType) {
 | 
| +        /* If the stroke consists of a moveTo followed by a degenerate curve, treat it
 | 
| +            as if it were followed by a zero-length line. Lines without length
 | 
| +            can have square and round end caps. */
 | 
| +        this->lineTo(pt2);
 | 
|          return;
 | 
|      }
 | 
|      if (kLine_ReductionType == reductionType) {
 | 
| @@ -653,6 +657,10 @@
 | 
|      SkPoint reduction;
 | 
|      ReductionType reductionType = CheckQuadLinear(quad, &reduction);
 | 
|      if (kPoint_ReductionType == reductionType) {
 | 
| +        /* If the stroke consists of a moveTo followed by a degenerate curve, treat it
 | 
| +            as if it were followed by a zero-length line. Lines without length
 | 
| +            can have square and round end caps. */
 | 
| +        this->lineTo(pt2);
 | 
|          return;
 | 
|      }
 | 
|      if (kLine_ReductionType == reductionType) {
 | 
| @@ -1168,6 +1176,10 @@
 | 
|      const SkPoint* tangentPt;
 | 
|      ReductionType reductionType = CheckCubicLinear(cubic, reduction, &tangentPt);
 | 
|      if (kPoint_ReductionType == reductionType) {
 | 
| +        /* If the stroke consists of a moveTo followed by a degenerate curve, treat it
 | 
| +            as if it were followed by a zero-length line. Lines without length
 | 
| +            can have square and round end caps. */
 | 
| +        this->lineTo(pt3);
 | 
|          return;
 | 
|      }
 | 
|      if (kLine_ReductionType == reductionType) {
 | 
| 
 |