[Libreoffice-commits] core.git: sw/source

Caolán McNamara caolanm at redhat.com
Mon Mar 12 08:54:52 UTC 2018


 sw/source/filter/ww8/ww8par6.cxx |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

New commits:
commit ecf40304b494e1783c09a1a1d55fd6d11894b366
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/51093
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index eb4abe1770a3..bf213496b6d5 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -2453,6 +2453,21 @@ bool SwWW8ImplReader::JoinNode(SwPaM &rPam, bool bStealAttr)
         if (bStealAttr)
             m_xCtrlStck->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