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 2026/05/29 15:13:25 UTC
svn commit: r1934750 - pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress
Author: tilman
Date: Fri May 29 15:13:25 2026
New Revision: 1934750
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #457
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java
==============================================================================
--- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java Fri May 29 14:26:01 2026 (r1934749)
+++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java Fri May 29 15:13:25 2026 (r1934750)
@@ -250,20 +250,19 @@ public class COSWriterCompressionPool
if (element instanceof COSObject)
{
COSObject cosObject = (COSObject) element;
- if (cosObject.getKey() != null && objectPool.contains(cosObject.getKey()))
+ COSObjectKey objectKey = cosObject.getKey();
+ COSBase object = cosObject.getObject();
+ if (objectKey != null && objectPool.contains(objectKey))
{
// check if the stored object matches the referenced object otherwise replace the key with a new one
// there may differences if some imported content uses the same object numbers than the target pdf
- if (objectPool.getObject(cosObject.getKey()).equals(cosObject.getObject()))
+ if (objectPool.getObject(objectKey).equals(object))
{
return false;
}
cosObject.setKey(null);
}
- if (cosObject.getObject() != null)
- {
- return true;
- }
+ return object != null;
}
else if (element instanceof COSArray
|| (element instanceof COSDictionary && !allDirectObjects.contains(element)))