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 2021/04/04 18:41:04 UTC
svn commit: r1888355 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/destination/PDPageDestination.java
Author: tilman
Date: Sun Apr 4 18:41:04 2021
New Revision: 1888355
URL: http://svn.apache.org/viewvc?rev=1888355&view=rev
Log:
PDFBOX-4892: performance improvement, as suggested by valerybokov
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/destination/PDPageDestination.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/destination/PDPageDestination.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/destination/PDPageDestination.java?rev=1888355&r1=1888354&r2=1888355&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/destination/PDPageDestination.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/documentnavigation/destination/PDPageDestination.java Sun Apr 4 18:41:04 2021
@@ -138,9 +138,14 @@ public abstract class PDPageDestination
private int indexOfPageTree(COSDictionary pageDict)
{
COSDictionary parent = pageDict;
- while (parent.getCOSDictionary(COSName.PARENT, COSName.P) != null)
+ while (true)
{
- parent = parent.getCOSDictionary(COSName.PARENT, COSName.P);
+ COSDictionary prevParent = parent.getCOSDictionary(COSName.PARENT, COSName.P);
+ if (prevParent == null)
+ {
+ break;
+ }
+ parent = prevParent;
}
if (parent.containsKey(COSName.KIDS)
&& COSName.PAGES.equals(parent.getCOSName(COSName.TYPE)))