You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ju...@apache.org on 2010/06/21 15:10:43 UTC
svn commit: r956566 - in
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox:
pdfviewer/PageDrawer.java
pdmodel/interactive/annotation/PDAppearanceDictionary.java
Author: jukka
Date: Mon Jun 21 13:10:43 2010
New Revision: 956566
URL: http://svn.apache.org/viewvc?rev=956566&view=rev
Log:
PDFBOX-743: PDAppereanceDictionary#getNormalAppearance might throw NPE
Patch by Philipp Koch
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java?rev=956566&r1=956565&r2=956566&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java Mon Jun 21 13:10:43 2010
@@ -124,13 +124,15 @@ public class PageDrawer extends PDFStrea
appearanceName = "default";
}
Map appearanceMap = appearDictionary.getNormalAppearance();
- PDAppearanceStream appearance =
- (PDAppearanceStream)appearanceMap.get( appearanceName );
- if( appearance != null )
- {
- g.translate( (int)rect.getLowerLeftX(), (int)-rect.getLowerLeftY() );
- processSubStream( page, appearance.getResources(), appearance.getStream() );
- g.translate( (int)-rect.getLowerLeftX(), (int)+rect.getLowerLeftY() );
+ if (appearanceMap != null) {
+ PDAppearanceStream appearance =
+ (PDAppearanceStream)appearanceMap.get( appearanceName );
+ if( appearance != null )
+ {
+ g.translate( (int)rect.getLowerLeftX(), (int)-rect.getLowerLeftY() );
+ processSubStream( page, appearance.getResources(), appearance.getStream() );
+ g.translate( (int)-rect.getLowerLeftX(), (int)+rect.getLowerLeftY() );
+ }
}
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java?rev=956566&r1=956565&r2=956566&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/PDAppearanceDictionary.java Mon Jun 21 13:10:43 2010
@@ -85,7 +85,11 @@ public class PDAppearanceDictionary impl
public Map getNormalAppearance()
{
COSBase ap = dictionary.getDictionaryObject( COSName.getPDFName( "N" ) );
- if( ap instanceof COSStream )
+ if ( ap == null )
+ {
+ return null;
+ }
+ else if( ap instanceof COSStream )
{
COSStream aux = (COSStream) ap;
ap = new COSDictionary();