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:14:59 UTC
svn commit: r1827402 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java
Author: msahyoun
Date: Wed Mar 21 11:14:59 2018
New Revision: 1827402
URL: http://svn.apache.org/viewvc?rev=1827402&view=rev
Log:
PDFBOX-4162: correct parsing of Line Dash pattern
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java?rev=1827402&r1=1827401&r2=1827402&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/state/PDExtendedGraphicsState.java Wed Mar 21 11:14:59 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;
}