diff options
-rw-r--r-- | sw/qa/core/data/ww8/pass/ofz18414-1.doc | bin | 0 -> 59801 bytes | |||
-rw-r--r-- | sw/source/filter/ww8/ww8par6.cxx | 11 |
2 files changed, 10 insertions, 1 deletions
diff --git a/sw/qa/core/data/ww8/pass/ofz18414-1.doc b/sw/qa/core/data/ww8/pass/ofz18414-1.doc Binary files differnew file mode 100644 index 000000000000..84204d197b70 --- /dev/null +++ b/sw/qa/core/data/ww8/pass/ofz18414-1.doc diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx index 2e21260408df..112c169edcd4 100644 --- a/sw/source/filter/ww8/ww8par6.cxx +++ b/sw/source/filter/ww8/ww8par6.cxx @@ -2515,7 +2515,7 @@ bool SwWW8ImplReader::JoinNode(SwPaM &rPam, bool bStealAttr) if (bStealAttr) m_xCtrlStck->StealAttr(rPam.GetPoint()->nNode); - if (m_pLastAnchorPos || m_pPreviousNode) + if (m_pLastAnchorPos || m_pPreviousNode || (m_xSFlyPara && m_xSFlyPara->xMainTextPos)) { SwNodeIndex aToBeJoined(aPref, 1); @@ -2540,6 +2540,15 @@ bool SwWW8ImplReader::JoinNode(SwPaM &rPam, bool bStealAttr) if (aDropCharPos == aToBeJoined) m_pPreviousNode = nullptr; } + + if (m_xSFlyPara) + { + // If an open apo pos is here, then clear it before + // JoinNext destroys it + SwNodeIndex aOpenApoPos(m_xSFlyPara->xMainTextPos->nNode); + if (aOpenApoPos == aToBeJoined) + m_xSFlyPara->xMainTextPos.reset(); + } } pNode->JoinNext(); |