Author: lehmi
Date: Thu Nov 16 19:28:07 2023
New Revision: 1913852

URL: http://svn.apache.org/viewvc?rev=1913852&view=rev
Log:
PDFBOX-5712: write all indirect references as long as a key is available

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java?rev=1913852&r1=1913851&r2=1913852&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java
 Thu Nov 16 19:28:07 2023
@@ -175,18 +175,16 @@ public class COSWriterObjectStream
         COSBase base;
         if (object instanceof COSObject)
         {
-            base = ((COSObject) object).getObject();
             if (!topLevel)
             {
                 COSObjectKey actualKey = object.getKey();
-                // the object reference can't be dereferenced be lenient and 
write the reference nevertheless
-                // or the object is part of a compressed object stream and 
shouldn't be written directly
-                if (base == null || (actualKey != null && 
preparedKeys.contains(actualKey)))
+                if (actualKey != null)
                 {
                     writeObjectReference(output, actualKey);
                     return;
                 }
             }
+            base = ((COSObject) object).getObject();
         }
         else
         {


Reply via email to