Author: ssteiner
Date: Mon Oct  2 13:41:22 2017
New Revision: 1810355

URL: http://svn.apache.org/viewvc?rev=1810355&view=rev
Log:
FOP-2746: PDF to PDF NPE during structuretree merge

Modified:
    
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java
    
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java

Modified: 
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java?rev=1810355&r1=1810354&r2=1810355&view=diff
==============================================================================
--- 
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java
 (original)
+++ 
xmlgraphics/fop-pdf-images/trunk/src/java/org/apache/fop/render/pdf/pdfbox/StructureTreeMerger.java
 Mon Oct  2 13:41:22 2017
@@ -132,8 +132,10 @@ public class StructureTreeMerger {
         for (COSBase entry : markedContentParents) {
             COSObject elemCos = (COSObject)entry;
             COSObject elemParent = (COSObject)elemCos.getItem(COSName.P);
-            PDFStructElem elem = 
structElemCache.get((int)elemCos.getObjectNumber());
-            createParents(elemCos, elemParent, elem);
+            if (elemParent != null) {
+                PDFStructElem elem = 
structElemCache.get((int)elemCos.getObjectNumber());
+                createParents(elemCos, elemParent, elem);
+            }
         }
     }
 

Modified: 
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java
URL: 
http://svn.apache.org/viewvc/xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java?rev=1810355&r1=1810354&r2=1810355&view=diff
==============================================================================
--- 
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java
 (original)
+++ 
xmlgraphics/fop-pdf-images/trunk/test/java/org/apache/fop/render/pdf/StructureTreeMergerTestCase.java
 Mon Oct  2 13:41:22 2017
@@ -218,4 +218,17 @@ public class StructureTreeMergerTestCase
         String test = name.getName();
         Assert.assertEquals(test, "P");
     }
+
+    @Test
+    public void testEmptyDict() throws IOException {
+        adapter = new PDFBoxAdapter(pdfPage, new HashMap(), new 
HashMap<Integer, PDFArray>());
+        StructureTreeMerger structureTreeMerger = new 
StructureTreeMerger(null, null, adapter, null);
+        COSArray cosArray = new COSArray();
+        COSObject o = new COSObject(new COSDictionary());
+        o.setObjectNumber(1);
+        o.setGenerationNumber(1);
+        cosArray.add(o);
+        structureTreeMerger.copyStructure(cosArray);
+        structureTreeMerger.addToPageParentTreeArray();
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org

Reply via email to