summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-08-11 17:54:09 +0200
committerCaolán McNamara <caolanm@redhat.com>2020-08-17 10:34:20 +0200
commit7e40584e8945ee555f8ad4584c5b2c95a8c6dde6 (patch)
treec988997eb58ea2c991206954a01c27a69d49d0cb
parent94cecbfdf3cf01fe3d5658c7edf78696da2a249f (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.cxx11
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)