Author: jahewson
Date: Thu Feb 27 00:43:02 2014
New Revision: 1572367

URL: http://svn.apache.org/r1572367
Log:
PDFBOX-1094: Fix for NPE in jagpdf and patterns drawn black

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfviewer/PageDrawer.java
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.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=1572367&r1=1572366&r2=1572367&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 
Thu Feb 27 00:43:02 2014
@@ -211,6 +211,8 @@ public class PageDrawer extends PDFStrea
         {
             getGraphicsState().setNonStrokingColorSpace(colorSpace);
             getGraphicsState().setNonStrokingColor(color);
+            getGraphicsState().setStrokingColorSpace(colorSpace);
+            getGraphicsState().setStrokingColor(color);
         }
 
         processSubStream(pattern.getResources(), 
(COSStream)pattern.getCOSObject());

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java?rev=1572367&r1=1572366&r2=1572367&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/pattern/TilingPaint.java
 Thu Feb 27 00:43:02 2014
@@ -67,9 +67,16 @@ public class TilingPaint extends Texture
     //  gets rect in parent content stream coordinates
     private static Rectangle getTransformedRect(PDTilingPattern pattern)
     {
-        AffineTransform at = pattern.getMatrix().createAffineTransform();
-        Rectangle rect = new Rectangle(pattern.getBBox().createDimension());
-        return at.createTransformedShape(rect).getBounds();
+        if (pattern.getMatrix() == null)
+        {
+            return new Rectangle(pattern.getBBox().createDimension());
+        }
+        else
+        {
+            AffineTransform at = pattern.getMatrix().createAffineTransform();
+            Rectangle rect = new 
Rectangle(pattern.getBBox().createDimension());
+            return at.createTransformedShape(rect).getBounds();
+        }
     }
 
     // gets image in parent stream coordinates
@@ -90,10 +97,20 @@ public class TilingPaint extends Texture
 
         // TODO xStep and yStep
 
-        // undo translation
-        Matrix matrix = (Matrix)pattern.getMatrix().clone();
-        matrix.setValue(2, 0, matrix.getValue(2, 0) - (float)rect.getX()); // 
tx
-        matrix.setValue(2, 1, matrix.getValue(2, 1) - (float)rect.getY()); // 
ty
+        // matrix
+        Matrix matrix;
+        if (pattern.getMatrix() == null)
+        {
+            // identity
+            matrix = new Matrix();
+        }
+        else
+        {
+            // undo translation
+            matrix = (Matrix)pattern.getMatrix().clone();
+            matrix.setValue(2, 0, matrix.getValue(2, 0) - (float)rect.getX()); 
// tx
+            matrix.setValue(2, 1, matrix.getValue(2, 1) - (float)rect.getY()); 
// ty
+        }
 
         PageDrawer drawer = new PageDrawer();
         PDRectangle pdRect = new PDRectangle(0, 0, width, height);


Reply via email to