summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-12-22 14:14:39 +0000
committerAdolfo Jayme Barrientos <fitojb@ubuntu.com>2020-12-23 17:39:03 +0100
commitcc54ea4412b2561fc4eb57e40f6eeec66cc30c16 (patch)
tree4bb774ef22094468d8d3666f697dbb649749e839 /sw
parent99a86cdf098e68d0a35f6a9af06ffe8c8e03c905 (diff)
tdf#138457 Cursor position wrong when using functions in a writer table
Change-Id: I70156d8492afbab2c5993e1627a024ef8e07c492 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108176 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.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 6698e192421c..a5b97af36c3d 100644
--- a/sw/source/uibase/inc/inputwin.hxx
+++ b/sw/source/uibase/inc/inputwin.hxx
@@ -79,7 +79,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)