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 2020/10/20 15:08:31 UTC
svn commit: r1882702 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Author: tilman
Date: Tue Oct 20 15:08:30 2020
New Revision: 1882702
URL: http://svn.apache.org/viewvc?rev=1882702&view=rev
Log:
PDFBOX-4997: treat non-COSUpdateInfo objects as isNeedToBeUpdated == false, as suggested by Michael Klink
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java?rev=1882702&r1=1882701&r2=1882702&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java Tue Oct 20 15:08:30 2020
@@ -511,8 +511,7 @@ public class COSWriter implements ICOSVi
cosBase = keyObject.get(cosObjectKey);
}
if (actual != null && objectKeys.containsKey(actual)
- && object instanceof COSUpdateInfo && !((COSUpdateInfo)object).isNeedToBeUpdated()
- && cosBase instanceof COSUpdateInfo && !((COSUpdateInfo)cosBase).isNeedToBeUpdated() )
+ && !isNeedToBeUpdated(object) && !isNeedToBeUpdated(cosBase))
{
return;
}
@@ -526,6 +525,20 @@ public class COSWriter implements ICOSVi
}
/**
+ * Convenience method, so that we get false for types that can't be updated.
+ * @param base
+ * @return
+ */
+ private boolean isNeedToBeUpdated(COSBase base)
+ {
+ if (base instanceof COSUpdateInfo)
+ {
+ return ((COSUpdateInfo) base).isNeedToBeUpdated();
+ }
+ return false;
+ }
+
+ /**
* This will write a COS object.
*
* @param obj The object to write.