aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java')
-rw-r--r--src/java/org/apache/fop/render/pdf/PDFDocumentNavigationHandler.java19
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();