You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2018/03/21 11:20:11 UTC

svn commit: r1827403 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java

Author: msahyoun
Date: Wed Mar 21 11:20:11 2018
New Revision: 1827403

URL: http://svn.apache.org/viewvc?rev=1827403&view=rev
Log:
PDFBOX-4162: correct parsing of Line Dash pattern

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java?rev=1827403&r1=1827402&r2=1827403&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java Wed Mar 21 11:20:11 2018
@@ -274,14 +274,14 @@ public class PDExtendedGraphicsState imp
     {
         PDLineDashPattern retval = null;
         COSArray dp = (COSArray) dict.getDictionaryObject( COSName.D );
-        if( dp != null )
+        if( dp != null  && dp.size() == 2)
         {
-            COSArray array = new COSArray();
-            array.addAll(dp);
-            array.remove(dp.size() - 1);
-            int phase = dp.getInt(dp.size() - 1);
-
-            retval = new PDLineDashPattern( array, phase );
+            COSBase dashArray = dp.get(0);
+            COSBase phase = dp.get(1);
+            if (dashArray instanceof COSArray && phase instanceof COSNumber)
+            {
+                retval = new PDLineDashPattern((COSArray) dashArray, ((COSNumber) phase).intValue());
+            }
         }
         return retval;
     }