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 2018/03/01 19:40:28 UTC

svn commit: r1825681 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java

Author: tilman
Date: Thu Mar  1 19:40:28 2018
New Revision: 1825681

URL: http://svn.apache.org/viewvc?rev=1825681&view=rev
Log:
PDFBOX-4131: skip self children

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java?rev=1825681&r1=1825680&r2=1825681&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDNonTerminalField.java Thu Mar  1 19:40:28 2018
@@ -20,6 +20,8 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
@@ -42,6 +44,8 @@ import org.apache.pdfbox.pdmodel.interac
  */
 public class PDNonTerminalField extends PDField
 {
+    private static final Log LOG = LogFactory.getLog(PDNonTerminalField.class);
+
     /**
      * Constructor.
      * 
@@ -136,6 +140,11 @@ public class PDNonTerminalField extends
             COSBase kid = kids.getObject(i);
             if (kid instanceof COSDictionary)
             {
+                if (kid.getCOSObject() == this.getCOSObject())
+                {
+                    LOG.warn("Child field is same object as parent");
+                    continue;
+                }
                 PDField field = PDField.fromDictionary(getAcroForm(), (COSDictionary) kid, this);
                 if (field != null)
                 {