summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/qa/core/data/ww8/pass/ofz18414-1.docbin0 -> 59801 bytes
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx11
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
new file mode 100644
index 000000000000..84204d197b70
--- /dev/null
+++ b/sw/qa/core/data/ww8/pass/ofz18414-1.doc
Binary files differ
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();