diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-12-22 14:14:39 +0000 |
---|---|---|
committer | Adolfo Jayme Barrientos <fitojb@ubuntu.com> | 2020-12-23 17:39:03 +0100 |
commit | cc54ea4412b2561fc4eb57e40f6eeec66cc30c16 (patch) | |
tree | 4bb774ef22094468d8d3666f697dbb649749e839 /sw | |
parent | 99a86cdf098e68d0a35f6a9af06ffe8c8e03c905 (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.hxx | 8 |
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) |