summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-10-14 16:54:47 +0100
committerMichael Stahl <mstahl@redhat.com>2015-10-20 20:57:06 +0000
commit343595ff97e4ae50613c1e479315e16f3bcd54be (patch)
tree8c164a1365b985c67a34864885ed789cd8fa7fc4 /sw
parent43769b7aebd6e89c5d9260b244e34d0858e99216 (diff)
fix SwIndex assert on fdo66692-2.doc
Change-Id: Ic3330817809727bfa2293ba74dcd7f5a25683dae (cherry picked from commit 2d2d5d1a704aa6827657a73b395620009b04b3ea) Reviewed-on: https://gerrit.libreoffice.org/19378 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/core/data/ww8/pass/fdo66692-2.docbin0 -> 91136 bytes
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx15
2 files changed, 15 insertions, 0 deletions
diff --git a/sw/qa/core/data/ww8/pass/fdo66692-2.doc b/sw/qa/core/data/ww8/pass/fdo66692-2.doc
new file mode 100644
index 000000000000..5042eeeb206c
--- /dev/null
+++ b/sw/qa/core/data/ww8/pass/fdo66692-2.doc
Binary files differ
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 86281ac64915..1a393b9dd2f3 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -2513,6 +2513,21 @@ void SwWW8ImplReader::StopApo()
if (rBrush.GetColor().GetColor() != COL_AUTO)
aBg = rBrush.GetColor();
+ 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
+ //postions 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();
+ }
+
//Get rid of extra empty paragraph
pNd->JoinNext();
}