summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-07-20 12:28:54 +0100
committerCaolán McNamara <caolanm@redhat.com>2018-07-20 15:05:15 +0200
commite97a2073b5c8a209f224c70b04e9a1cddab30add (patch)
tree81a22541cbf1d462a8e627eed42b3c54f42d8a37
parent12dce07aec980562fa449fa1884e0e8379d680fb (diff)
forcepoint#51 anchor location deleted before graphic anchor processed
try deferring to after anchor stack is cleared Change-Id: Iaa42d19635968d1656e171a7e0c5e473879cd8f3 Reviewed-on: https://gerrit.libreoffice.org/57772 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r--sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.docbin0 -> 91648 bytes
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx6
2 files changed, 5 insertions, 1 deletions
diff --git a/sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.doc b/sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.doc
new file mode 100644
index 000000000000..91ee6b58f210
--- /dev/null
+++ b/sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.doc
Binary files differ
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index fbc3ecf271bb..7abf127ec0fd 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -2526,6 +2526,7 @@ void SwWW8ImplReader::StopApo()
Color aBg(0xFE, 0xFF, 0xFF, 0xFF); //Transparent by default
SwTextNode* pNd = aPref.GetNode().GetTextNode();
+ SwTextNode* pJoinNext = nullptr;
if (pNd && m_xSFlyPara->pFlyFormat)
{
/*
@@ -2555,13 +2556,16 @@ void SwWW8ImplReader::StopApo()
}
//Get rid of extra empty paragraph
- pNd->JoinNext();
+ pJoinNext = pNd;
}
if (m_xSFlyPara->pFlyFormat)
m_xSFlyPara->pFlyFormat->SetFormatAttr(SvxBrushItem(aBg, RES_BACKGROUND));
DeleteAnchorStack();
+ if (pJoinNext)
+ pJoinNext->JoinNext();
+
m_xAnchorStck = std::move(m_xSFlyPara->xOldAnchorStck);
// When inserting a graphic into the fly frame using the auto