sw/source/ui/docvw/PostItMgr.cxx | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-)
New commits: commit 1e2eecabfe0e1c192cae300430d4b0579c3be845 Author: Joren De Cuyper <joren.libreoff...@telenet.be> Date: Wed Mar 6 18:10:26 2013 +0100 fdo#34800 Comments added to footer are placed at the right top of the page. I also merged (manually) the changes of the cleanup commit of Michael Stahl ( commit id 859e94294bdfd8595c88dd7f14da09ead8b32a45 ) Change-Id: Ibcd0373110fde848dccf93ffe9100459c7cc64a5 Reviewed-on: https://gerrit.libreoffice.org/2572 Reviewed-by: Fridrich Strba <fridr...@documentfoundation.org> Tested-by: Fridrich Strba <fridr...@documentfoundation.org> Reviewed-on: https://gerrit.libreoffice.org/2777 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx index 3a24565..7f67fb0 100644 --- a/sw/source/ui/docvw/PostItMgr.cxx +++ b/sw/source/ui/docvw/PostItMgr.cxx @@ -90,7 +90,32 @@ using namespace sw::sidebarwindows; bool comp_pos(const SwSidebarItem* a, const SwSidebarItem* b) { // sort by anchor position - return a->GetAnchorPosition() < b->GetAnchorPosition(); + SwPosition aPosAnchorA = a->GetAnchorPosition(); + SwPosition aPosAnchorB = b->GetAnchorPosition(); + + bool aAnchorAInFooter = false; + bool aAnchorBInFooter = false; + + // is the anchor placed in Footnote or the Footer? + if( aPosAnchorA.nNode.GetNode().FindFootnoteStartNode() || aPosAnchorA.nNode.GetNode().FindFooterStartNode() ) + aAnchorAInFooter = true; + if( aPosAnchorB.nNode.GetNode().FindFootnoteStartNode() || aPosAnchorB.nNode.GetNode().FindFooterStartNode() ) + aAnchorBInFooter = true; + + // fdo#34800 + // if AnchorA is in footnote, and AnchorB isn't + // we do not want to change over the position + if( aAnchorAInFooter && !aAnchorBInFooter ) + return false; + // if aAnchorA is not placed in a footnote, and aAnchorB is + // force a change over + else if( !aAnchorAInFooter && aAnchorBInFooter ) + return true; + // If neither or both are in the footer, compare the positions. + // Since footnotes are in Inserts section of nodes array and footers + // in Autotext section, all footnotes precede any footers so no need + // to check that. + return aPosAnchorA < aPosAnchorB; } SwPostItMgr::SwPostItMgr(SwView* pView) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits