diff options
author | Michael Stahl <Michael.Stahl@cib.de> | 2020-10-14 12:42:54 +0200 |
---|---|---|
committer | Michael Stahl <michael.stahl@cib.de> | 2020-10-14 15:25:47 +0200 |
commit | be4616d6b49b8c9cf1a90b212b24ead3dabcab6c (patch) | |
tree | 8a9e6acca1d92e2dd91379b9a62d95bb8c59a36d | |
parent | 728548f8d7698d06c21ae37b2e03fa8e73676341 (diff) |
tdf#135260 sw_redlinehide: fix insert-with-delete differently
The problem with the fix for tdf#127635 is that now the cursor doesn't
move left on backspace if change tracking is on.
(regression from 398ba26077f9029bdf6f7378bfc9ce8376b6f02d)
Revert that and fix the autocorrect position in SwWrtShell::Insert()
instead.
Change-Id: I5989a589b654fc6e5ba3dd66922af15eff758ecc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104280
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@cib.de>
-rw-r--r-- | sw/source/core/doc/DocumentContentOperationsManager.cxx | 10 | ||||
-rw-r--r-- | sw/source/uibase/wrtsh/wrtsh1.cxx | 4 |
2 files changed, 4 insertions, 10 deletions
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx index 52b67a9c3768..4c0e7530c311 100644 --- a/sw/source/core/doc/DocumentContentOperationsManager.cxx +++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx @@ -2013,11 +2013,6 @@ void DocumentContentOperationsManager::DeleteRange( SwPaM & rPam ) { lcl_DoWithBreaks( *this, rPam, &DocumentContentOperationsManager::DeleteRangeImpl ); - if (m_rDoc.getIDocumentRedlineAccess().IsRedlineOn()) - { - rPam.Normalize(false); // tdf#127635 put point at the end of deletion - } - if (!m_rDoc.getIDocumentRedlineAccess().IsIgnoreRedline() && !m_rDoc.getIDocumentRedlineAccess().GetRedlineTable().empty()) { @@ -2194,11 +2189,6 @@ bool DocumentContentOperationsManager::DeleteAndJoin( SwPaM & rPam, : &DocumentContentOperationsManager::DeleteAndJoinImpl, bForceJoinNext ); - if (m_rDoc.getIDocumentRedlineAccess().IsRedlineOn()) - { - rPam.Normalize(false); // tdf#127635 put point at the end of deletion - } - return ret; } diff --git a/sw/source/uibase/wrtsh/wrtsh1.cxx b/sw/source/uibase/wrtsh/wrtsh1.cxx index 60ac6cca4cc6..69fad015bbde 100644 --- a/sw/source/uibase/wrtsh/wrtsh1.cxx +++ b/sw/source/uibase/wrtsh/wrtsh1.cxx @@ -228,7 +228,11 @@ void SwWrtShell::Insert( const OUString &rStr ) StartUndo(SwUndoId::REPLACE, &aRewriter); bStarted = true; + Push(); bDeleted = DelRight(); + Pop(SwCursorShell::PopMode::DeleteCurrent); // Restore selection (if tracking changes) + NormalizePam(false); // tdf#127635 put point at the end of deletion + ClearMark(); } bCallIns ? |