summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-12-22 14:14:39 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-12-23 14:58:55 +0100
commit3870ca340537294fd1168abe9592f903140d6459 (patch)
tree861194664e6ff38f687f44dc32c3776516a6a743 /sw
parentc386994e78f69cb2e9babf42bb54bdfa1f8bd28e (diff)
tdf#138457 Cursor position wrong when using functions in a writer table
Change-Id: I70156d8492afbab2c5993e1627a024ef8e07c492 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108195 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/uibase/inc/inputwin.hxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/sw/source/uibase/inc/inputwin.hxx b/sw/source/uibase/inc/inputwin.hxx
index 08dcea729fce..ab18e2118cc3 100644
--- a/sw/source/uibase/inc/inputwin.hxx
+++ b/sw/source/uibase/inc/inputwin.hxx
@@ -74,7 +74,15 @@ public:
void replace_selection(const OUString& rText)
{
+ int nStartPos, nEndPos;
+ m_xWidget->get_selection_bounds(nStartPos, nEndPos);
+ if (nStartPos > nEndPos)
+ std::swap(nStartPos, nEndPos);
+
m_xWidget->replace_selection(rText);
+
+ nStartPos = nStartPos + rText.getLength();
+ m_xWidget->select_region(nStartPos, nStartPos);
}
void select_region(int nStartPos, int nEndPos)