You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2014/11/07 23:42:41 UTC
svn commit: r1637477 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Author: tilman
Date: Fri Nov 7 22:42:41 2014
New Revision: 1637477
URL: http://svn.apache.org/r1637477
Log:
PDFBOX-2470: avoid ClassCastException or NullPointerException in addSignature, as suggested by Huynh and John Hewson
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java?rev=1637477&r1=1637476&r2=1637477&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDDocument.java Fri Nov 7 22:42:41 2014
@@ -486,15 +486,18 @@ public class PDDocument implements Pagea
// read and set Appearance Dictionary
PDAppearanceDictionary ap =
- new PDAppearanceDictionary((COSDictionary)cosBaseDict.getItem(COSName.AP));
+ new PDAppearanceDictionary((COSDictionary)cosBaseDict.getDictionaryObject(COSName.AP));
ap.getDictionary().setDirect(true);
signatureField.getWidget().setAppearance(ap);
- // read and set AcroForm DefaultRessource
+ // read and set AcroForm DefaultResource
COSBase dr = cosBaseDict.getItem(COSName.DR);
- dr.setDirect(true);
- dr.setNeedToBeUpdate(true);
- acroFormDict.setItem(COSName.DR, dr);
+ if (dr != null)
+ {
+ dr.setDirect(true);
+ dr.setNeedToBeUpdate(true);
+ acroFormDict.setItem(COSName.DR, dr);
+ }
sigFieldNotFound=false;
}
}