[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - sw/source
Caolán McNamara
caolanm at redhat.com
Mon Mar 12 13:08:54 UTC 2018
sw/source/filter/ww8/ww8par6.cxx | 15 +++++++++++++++
1 file changed, 15 insertions(+)
New commits:
commit f79c3fbd8a9c4e89346e042cc31397bd6e277e09
Author: Caolán McNamara <caolanm at redhat.com>
Date: Sun Mar 11 21:24:05 2018 +0000
ofz#6827 drop last anchor pos if it will be joined
Change-Id: Ib36b74b455f741d9dcccbdf244d21453837bda3c
Reviewed-on: https://gerrit.libreoffice.org/51100
Reviewed-by: Michael Stahl <mstahl at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index e65aa9af86a7..021a70184f32 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -2443,6 +2443,21 @@ bool SwWW8ImplReader::JoinNode(SwPaM &rPam, bool bStealAttr)
if (bStealAttr)
m_pCtrlStck->StealAttr(rPam.GetPoint()->nNode);
+ if (m_pLastAnchorPos.get())
+ {
+ //If the last anchor pos is here, then clear the anchor pos.
+ //This "last anchor pos" is only used for fixing up the
+ //positions of things anchored to page breaks and here
+ //we are removing the last paragraph of a frame, so there
+ //cannot be a page break at this point so we can
+ //safely reset m_pLastAnchorPos to avoid any dangling
+ //SwIndex's pointing into the deleted paragraph
+ SwNodeIndex aLastAnchorPos(m_pLastAnchorPos->nNode);
+ SwNodeIndex aToBeJoined(aPref, 1);
+ if (aLastAnchorPos == aToBeJoined)
+ m_pLastAnchorPos.reset();
+ }
+
pNode->JoinNext();
bRet = true;
More information about the Libreoffice-commits
mailing list