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 2021/07/03 16:46:18 UTC

svn commit: r1891233 - in /pdfbox/trunk/pdfbox/src: main/java/org/apache/pdfbox/multipdf/PDFCloneUtility.java test/java/org/apache/pdfbox/multipdf/TestLayerUtility.java

Author: tilman
Date: Sat Jul  3 16:46:18 2021
New Revision: 1891233

URL: http://svn.apache.org/viewvc?rev=1891233&view=rev
Log:
PDFBOX-5232: skip identical target to avoid endless loop, as suggested by Michael Klink in SO 68213927; add test

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFCloneUtility.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/TestLayerUtility.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFCloneUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFCloneUtility.java?rev=1891233&r1=1891232&r2=1891233&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFCloneUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFCloneUtility.java Sat Jul  3 16:46:18 2021
@@ -166,7 +166,7 @@ class PDFCloneUtility
        */
       void cloneMerge( final COSObjectable base, COSObjectable target) throws IOException
       {
-          if( base == null )
+          if (base == null || base == target)
           {
               return;
           }

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/TestLayerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/TestLayerUtility.java?rev=1891233&r1=1891232&r2=1891233&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/TestLayerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/multipdf/TestLayerUtility.java Sat Jul  3 16:46:18 2021
@@ -63,7 +63,7 @@ public class TestLayerUtility
      * @throws Exception if an error occurs
      */
     @Test
-    public void testLayerImport() throws Exception
+    void testLayerImport() throws Exception
     {
         File mainPDF = createMainPDF();
         File overlay1 = createOverlay1();
@@ -102,6 +102,9 @@ public class TestLayerUtility
             PDOptionalContentProperties ocgs = catalog.getOCProperties();
             PDOptionalContentGroup overlay = ocgs.getGroup("overlay");
             assertEquals(ocg.getName(), overlay.getName());
+
+            // test PDFBOX-5232 (never ended)
+            new LayerUtility(doc).importPageAsForm(doc, 0);
         }
     }