diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-08-11 17:54:09 +0200 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-08-17 10:34:20 +0200 |
commit | 7e40584e8945ee555f8ad4584c5b2c95a8c6dde6 (patch) | |
tree | c988997eb58ea2c991206954a01c27a69d49d0cb | |
parent | 94cecbfdf3cf01fe3d5658c7edf78696da2a249f (diff) |
tdf#134746 sw: fix redline hiding of at-char fly on empty paragraphs
If a merged paragraph has no extents, a fly anchored at the start or at
the end should be shown.
(regression from 28b77c89dfcafae82cf2a6d85731b643ff9290e5)
Change-Id: I78135f3c033cf08aad81c86b0ac693528e3f3f8e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100543
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
(cherry picked from commit f3cb59c46398b3a0646b8b374d5626f715fa6884)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100703
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
-rw-r--r-- | sw/source/core/layout/frmtool.cxx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 745c1818d859..7aed05b0bdce 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -1274,6 +1274,17 @@ bool IsAnchoredObjShown(SwTextFrame const& rFrame, SwFormatAnchor const& rAnchor ret = false; auto const pAnchor(rAnchor.GetContentAnchor()); auto iterFirst(pMergedPara->extents.cbegin()); + if (iterFirst == pMergedPara->extents.end() + && (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA + || rAnchor.GetAnchorId() == RndStdIds::FLY_AT_CHAR)) + { + ret = (&pAnchor->nNode.GetNode() == pMergedPara->pFirstNode + && (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA + || pAnchor->nContent == 0)) + || (&pAnchor->nNode.GetNode() == pMergedPara->pLastNode + && (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA + || pAnchor->nContent == pMergedPara->pLastNode->Len())); + } auto iter(iterFirst); SwTextNode const* pNode(pMergedPara->pFirstNode); for ( ; ; ++iter) |