From 60595e13419bf86bb2f71731852123fa2ca1991c Mon Sep 17 00:00:00 2001 From: BobLd Date: Sun, 5 Apr 2020 11:07:02 +0100 Subject: [PATCH] Check if current path is null for path construction operators --- .../PathConstruction/AppendDualControlPointBezierCurve.cs | 2 ++ .../PathConstruction/AppendEndControlPointBezierCurve.cs | 2 ++ .../PathConstruction/AppendStartControlPointBezierCurve.cs | 2 ++ .../Operations/PathConstruction/AppendStraightLineSegment.cs | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendDualControlPointBezierCurve.cs b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendDualControlPointBezierCurve.cs index 0a4a23f0..0c2a6b72 100644 --- a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendDualControlPointBezierCurve.cs +++ b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendDualControlPointBezierCurve.cs @@ -71,6 +71,8 @@ /// public void Run(IOperationContext operationContext) { + if (operationContext.CurrentSubpath == null) return; + var controlPoint1 = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X1, Y1)); var controlPoint2 = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X2, Y2)); var end = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X3, Y3)); diff --git a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendEndControlPointBezierCurve.cs b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendEndControlPointBezierCurve.cs index a360711a..e1a2622a 100644 --- a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendEndControlPointBezierCurve.cs +++ b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendEndControlPointBezierCurve.cs @@ -56,6 +56,8 @@ /// public void Run(IOperationContext operationContext) { + if (operationContext.CurrentSubpath == null) return; + var controlPoint1 = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X1, Y1)); var end = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X3, Y3)); operationContext.CurrentSubpath.BezierCurveTo(controlPoint1.X, controlPoint1.Y, end.X, end.Y, end.X, end.Y); diff --git a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStartControlPointBezierCurve.cs b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStartControlPointBezierCurve.cs index 61d1dd9b..22c03bb4 100644 --- a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStartControlPointBezierCurve.cs +++ b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStartControlPointBezierCurve.cs @@ -56,6 +56,8 @@ /// public void Run(IOperationContext operationContext) { + if (operationContext.CurrentSubpath == null) return; + var controlPoint2 = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X2, Y2)); var end = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X3, Y3)); operationContext.CurrentSubpath.BezierCurveTo(operationContext.CurrentPosition.X, diff --git a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStraightLineSegment.cs b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStraightLineSegment.cs index 93a9c201..efb33483 100644 --- a/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStraightLineSegment.cs +++ b/src/UglyToad.PdfPig/Graphics/Operations/PathConstruction/AppendStraightLineSegment.cs @@ -41,6 +41,8 @@ /// public void Run(IOperationContext operationContext) { + if (operationContext.CurrentSubpath == null) return; + var endPoint = operationContext.CurrentTransformationMatrix.Transform(new PdfPoint(X, Y)); operationContext.CurrentSubpath.LineTo(endPoint.X, endPoint.Y); operationContext.CurrentPosition = endPoint;