summaryrefslogtreecommitdiff
path: root/sw/source
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.com>2019-07-16 12:17:01 +0200
committerMiklos Vajna <vmiklos@collabora.com>2019-07-17 13:06:30 +0200
commit555bf69bbe4688db160c8d409153ff85bb6e2434 (patch)
tree293bb9b519db2b44d0accee73c60632e30cfb203 /sw/source
parent8c146f7d6894b3a56a11054e5c2a4ddb758cee86 (diff)
sw comments on frames: avoid overlay that covers only an as-char image
As-char images had their comment arrow on the bottom left corner, as-char ones had it at the bottom right one. Standardize on bottom left and avoid the content overlay in case only the frame itself is selected. See commit cf5a3cb687a502e7f71cefb5f7001a73925bee56 (Adapt new test to actual values observed on macOS, 2019-06-24) on why the test is not for macOS, till somebody can check if this is working there properly. (cherry picked from commit 3fb7ffeb85d87551ffcddd63b7c90c6b0e573e5f) Conflicts: sw/qa/extras/uiwriter/uiwriter2.cxx Change-Id: I83516ea558182ecc7362f8383894ed07a16d3ad2 Reviewed-on: https://gerrit.libreoffice.org/75765 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Diffstat (limited to 'sw/source')
-rw-r--r--sw/source/core/fields/postithelper.cxx17
1 files changed, 16 insertions, 1 deletions
diff --git a/sw/source/core/fields/postithelper.cxx b/sw/source/core/fields/postithelper.cxx
index 82e8531d4ad7..21041a6de01e 100644
--- a/sw/source/core/fields/postithelper.cxx
+++ b/sw/source/core/fields/postithelper.cxx
@@ -58,7 +58,22 @@ bool AnnotationMarkCoversCommentAnchor(const sw::mark::IMark* pAnnotationMark,
if (rMarkStart != rAnchorPos)
{
- return false;
+ // This can be the as-char case: the comment placeholder character is exactly between the
+ // annotation mark start and end.
+ SwPosition aPosition(rMarkStart);
+ ++aPosition.nContent;
+ if (aPosition != rAnchorPos)
+ {
+ return false;
+ }
+
+ ++aPosition.nContent;
+ if (aPosition != rMarkEnd)
+ {
+ return false;
+ }
+
+ return true;
}
if (rMarkStart.nNode != rMarkEnd.nNode)