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>
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index ecd43d6..bee95be 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -2008,11 +2008,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())
{
@@ -2189,11 +2184,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 0dbb7aa..da49506 100644
--- a/sw/source/uibase/wrtsh/wrtsh1.cxx
+++ b/sw/source/uibase/wrtsh/wrtsh1.cxx
@@ -225,7 +225,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 ?