Author: lehmi
Date: Thu Nov 16 19:25:38 2023
New Revision: 1913851

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

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

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java
URL: 
http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java?rev=1913851&r1=1913850&r2=1913851&view=diff
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java
 (original)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterObjectStream.java
 Thu Nov 16 19:25:38 2023
@@ -175,18 +175,16 @@ public class COSWriterObjectStream
         COSBase base;
         if (object instanceof COSObject)
         {
-            base = ((COSObject) object).getObject();
             if (!topLevel)
             {
                 COSObjectKey actualKey = ((COSObject) 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