diff options
Diffstat (limited to 'src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java')
-rw-r--r-- | src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java b/src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java index 2a9a07534..138129334 100644 --- a/src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java +++ b/src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java @@ -155,15 +155,20 @@ public class PDFDocumentNavigationHandler implements IFDocumentNavigationHandler if (pdfAction != null) { return pdfAction; } else if (action instanceof GoToXYAction) { - GoToXYAction a = (GoToXYAction)action; - PDFGoTo pdfGoTo = new PDFGoTo(null); - getPDFDoc().assignObjectNumber(pdfGoTo); - if (action.isComplete()) { - updateTargetLocation(pdfGoTo, a); + pdfAction = (PDFAction) incompleteActions.get(action.getID()); + if (pdfAction != null) { + return pdfAction; } else { - this.incompleteActions.put(action.getID(), pdfGoTo); + GoToXYAction a = (GoToXYAction)action; + PDFGoTo pdfGoTo = new PDFGoTo(null); + getPDFDoc().assignObjectNumber(pdfGoTo); + if (action.isComplete()) { + updateTargetLocation(pdfGoTo, a); + } else { + this.incompleteActions.put(action.getID(), pdfGoTo); + } + return pdfGoTo; } - return pdfGoTo; } else if (action instanceof URIAction) { URIAction u = (URIAction)action; assert u.isComplete(); |