diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-07-20 12:28:54 +0100 |
---|---|---|
committer | Michael Stahl <Michael.Stahl@cib.de> | 2018-07-24 13:43:09 +0200 |
commit | 2fd44e945d3d0bb6318ba704c7ca2ac06c7db263 (patch) | |
tree | ce812ee37f7a8eba7164b6f04041b832c2f0a3d6 | |
parent | 9e60c8c3f76ef6ca7a23a3f7d34d8c244ad8333a (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/57776
Tested-by: Jenkins
Reviewed-by: Michael Stahl <Michael.Stahl@cib.de>
-rw-r--r-- | sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.doc | bin | 0 -> 91648 bytes | |||
-rw-r--r-- | sw/source/filter/ww8/ww8par6.cxx | 6 |
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 Binary files differnew file mode 100644 index 000000000000..91ee6b58f210 --- /dev/null +++ b/sw/qa/core/data/ww8/pass/forcepoint50-grfanchor-1.doc diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx index 3d543b74bc97..9b9998081fca 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 |