summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-10-14 12:42:54 +0200
committerAndras Timar <andras.timar@collabora.com>2020-10-31 22:53:39 +0100
commit0338a2a18d3252251439210ff737e9fa7f07c10a (patch)
treec4b2093e0b1ce300dca35faef7ce00903315fee9 /sw
parentae1f51b4888a3aa14837ac6e4083f33b2176ca45 (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> (cherry picked from commit be4616d6b49b8c9cf1a90b212b24ead3dabcab6c) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104299 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105093 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/doc/DocumentContentOperationsManager.cxx10
-rw-r--r--sw/source/uibase/wrtsh/wrtsh1.cxx4
2 files changed, 4 insertions, 10 deletions
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index ecebb3d000b6..909c88632f5e 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -2007,11 +2007,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())
{
@@ -2188,11 +2183,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 045ea5ceed7b..077a1b5f2968 100644
--- a/sw/source/uibase/wrtsh/wrtsh1.cxx
+++ b/sw/source/uibase/wrtsh/wrtsh1.cxx
@@ -243,7 +243,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 ?