Browse Source

Bugfix: Suppress generating duplicate fo:root and fo:declarations extension attachments.

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@1067190 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_1rc1old
Jeremias Maerki 13 years ago
parent
commit
8312fbff3f
1 changed files with 18 additions and 6 deletions
  1. 18
    6
      src/java/org/apache/fop/area/AreaTreeHandler.java

+ 18
- 6
src/java/org/apache/fop/area/AreaTreeHandler.java View File



private void startAbstractPageSequence(AbstractPageSequence pageSequence) { private void startAbstractPageSequence(AbstractPageSequence pageSequence) {
rootFObj = pageSequence.getRoot(); rootFObj = pageSequence.getRoot();

//Before the first page-sequence...
if (this.prevPageSeqLM == null) {
// extension attachments from fo:root
wrapAndAddExtensionAttachments(rootFObj.getExtensionAttachments());
// extension attachments from fo:declarations
if (rootFObj.getDeclarations() != null) {
wrapAndAddExtensionAttachments(rootFObj.getDeclarations().getExtensionAttachments());
}
}

finishPrevPageSequence(pageSequence.getInitialPageNumber()); finishPrevPageSequence(pageSequence.getInitialPageNumber());
pageSequence.initPageNumber(); pageSequence.initPageNumber();
// extension attachments from fo:root
wrapAndAddExtensionAttachments(rootFObj.getExtensionAttachments());
// extension attachments from fo:declarations
if (rootFObj.getDeclarations() != null) {
wrapAndAddExtensionAttachments(rootFObj.getDeclarations().getExtensionAttachments());
}
} }


private void wrapAndAddExtensionAttachments(List<ExtensionAttachment> list) { private void wrapAndAddExtensionAttachments(List<ExtensionAttachment> list) {
* @param pv a page viewport that contains the area with this ID * @param pv a page viewport that contains the area with this ID
* @deprecated use getIDTracker().associateIDWithPageViewport(id, pv) instead * @deprecated use getIDTracker().associateIDWithPageViewport(id, pv) instead
*/ */
@Deprecated
public void associateIDWithPageViewport(String id, PageViewport pv) { public void associateIDWithPageViewport(String id, PageViewport pv) {
idTracker.associateIDWithPageViewport(id, pv); idTracker.associateIDWithPageViewport(id, pv);
} }
* @param id the id of the object being processed * @param id the id of the object being processed
* @deprecated use getIDTracker().signalPendingID(id) instead * @deprecated use getIDTracker().signalPendingID(id) instead
*/ */
@Deprecated
public void signalPendingID(String id) { public void signalPendingID(String id) {
idTracker.signalPendingID(id); idTracker.signalPendingID(id);
} }
* @param id the id of the formatting object which was just finished * @param id the id of the formatting object which was just finished
* @deprecated use getIDTracker().signalIDProcessed(id) instead * @deprecated use getIDTracker().signalIDProcessed(id) instead
*/ */
@Deprecated
public void signalIDProcessed(String id) { public void signalIDProcessed(String id) {
idTracker.signalIDProcessed(id); idTracker.signalIDProcessed(id);
} }
* @return true if the ID has been resolved * @return true if the ID has been resolved
* @deprecated use getIDTracker().alreadyResolvedID(id) instead * @deprecated use getIDTracker().alreadyResolvedID(id) instead
*/ */
@Deprecated
public boolean alreadyResolvedID(String id) { public boolean alreadyResolvedID(String id) {
return idTracker.alreadyResolvedID(id); return idTracker.alreadyResolvedID(id);
} }
* @param pv page viewport whose ID refs to resolve * @param pv page viewport whose ID refs to resolve
* @deprecated use getIDTracker().tryIDResolution(pv) instead * @deprecated use getIDTracker().tryIDResolution(pv) instead
*/ */
@Deprecated
public void tryIDResolution(PageViewport pv) { public void tryIDResolution(PageViewport pv) {
idTracker.tryIDResolution(pv); idTracker.tryIDResolution(pv);
} }
* @return the list of PageViewports * @return the list of PageViewports
* @deprecated use getIDTracker().getPageViewportsContainingID(id) instead * @deprecated use getIDTracker().getPageViewportsContainingID(id) instead
*/ */
@Deprecated
public List<PageViewport> getPageViewportsContainingID(String id) { public List<PageViewport> getPageViewportsContainingID(String id) {
return idTracker.getPageViewportsContainingID(id); return idTracker.getPageViewportsContainingID(id);
} }
* @param res the Resolvable object needing the idref to be resolved * @param res the Resolvable object needing the idref to be resolved
* @deprecated use getIDTracker().addUnresolvedIDRef(idref, res) instead * @deprecated use getIDTracker().addUnresolvedIDRef(idref, res) instead
*/ */
@Deprecated
public void addUnresolvedIDRef(String idref, Resolvable res) { public void addUnresolvedIDRef(String idref, Resolvable res) {
idTracker.addUnresolvedIDRef(idref, res); idTracker.addUnresolvedIDRef(idref, res);
} }

Loading…
Cancel
Save