summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXisco Fauli <xiscofauli@libreoffice.org>2021-03-03 17:10:40 +0100
committerXisco Fauli <xiscofauli@libreoffice.org>2021-03-05 19:45:04 +0100
commitee0f845b3d739a6109f08d5c0cd0d839100f6828 (patch)
tree7c263715c8f9761e1cfb01832e1bb8693f0b9d09
parent6b99873a209f85a3322a318d45546d573a0a024e (diff)
tdf#93441: Revert "Fix fdo#38884 Improve Up/Down movement in writer"
This reverts commit d58bea0ffa2a2fe79103ab7aa743aea63e27a0fd it's really unclear to me what the original commit tries to fix. https://bugs.documentfoundation.org/show_bug.cgi?id=38884#c6 gives some information but the behaviour described there is the same with or without the commit applied. The discussion in https://gerrit.libreoffice.org/c/core/+/11500 doesn't give much information either. Change-Id: Iadd8cb6e869fd26654bb0301fbc30ea4f2d39fdf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/111932 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
-rw-r--r--sw/inc/crsrsh.hxx2
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx18
-rw-r--r--sw/source/core/crsr/crsrsh.cxx10
3 files changed, 22 insertions, 8 deletions
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index 2fbb94509c6e..5b7e71a23634 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -341,7 +341,7 @@ public:
// start parenthesing, hide SV-Cursor and selected areas
void StartAction();
// end parenthesing, show SV-Cursor and selected areas
- void EndAction( const bool bIdleEnd = false, const bool DoSetPosX = false );
+ void EndAction( const bool bIdleEnd = false );
// basic cursor travelling
tools::Long GetUpDownX() const { return m_nUpDownX; }
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index fa5209497862..9c2719f99638 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -217,6 +217,7 @@ public:
void testBookmarkUndo();
void testFdo85876();
void testCaretPositionMovingUp();
+ void testTdf93441();
void testTdf81226();
void testTdf79717();
void testTdf137532();
@@ -451,6 +452,7 @@ public:
CPPUNIT_TEST(testBookmarkUndo);
CPPUNIT_TEST(testFdo85876);
CPPUNIT_TEST(testCaretPositionMovingUp);
+ CPPUNIT_TEST(testTdf93441);
CPPUNIT_TEST(testTdf81226);
CPPUNIT_TEST(testTdf79717);
CPPUNIT_TEST(testTdf137532);
@@ -2043,6 +2045,22 @@ void SwUiWriterTest::testCaretPositionMovingUp()
CPPUNIT_ASSERT_EQUAL(OUString(u"beforeAfter" + OUStringChar(CH_TXTATR_NEWLINE)), getParagraph(1)->getString());
}
+void SwUiWriterTest::testTdf93441()
+{
+ SwDoc* const pDoc = createDoc();
+ SwWrtShell* pWrtShell = pDoc->GetDocShell()->GetWrtShell();
+ pWrtShell->Insert("Hello");
+ pWrtShell->InsertLineBreak();
+ pWrtShell->Insert("Hello World");
+ pWrtShell->Up(false);
+ pWrtShell->Insert(" World");
+
+ // Without the fix in place, this test would have failed with
+ // - Expected: Hello World\nHello World
+ // - Actual : WorldHello\nHello World
+ CPPUNIT_ASSERT_EQUAL(OUString(u"Hello World" + OUStringChar(CH_TXTATR_NEWLINE) + u"Hello World"), getParagraph(1)->getString());
+}
+
void SwUiWriterTest::testTdf81226()
{
SwDoc* const pDoc = createDoc();
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index e02b02b9c187..bb62e4b535f1 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -240,16 +240,11 @@ void SwCursorShell::StartAction()
SwViewShell::StartAction(); // to the SwViewShell
}
-void SwCursorShell::EndAction( const bool bIdleEnd, const bool DoSetPosX )
+void SwCursorShell::EndAction( const bool bIdleEnd )
{
comphelper::FlagRestorationGuard g(mbSelectAll, StartsWithTable() && ExtendedSelectedAll());
bool bVis = m_bSVCursorVis;
- sal_uInt16 eFlags = SwCursorShell::CHKRANGE;
- if ( !DoSetPosX )
- eFlags |= SwCursorShell::UPDOWN;
-
-
// Idle-formatting?
if( bIdleEnd && Imp()->GetRegion() )
{
@@ -277,6 +272,7 @@ void SwCursorShell::EndAction( const bool bIdleEnd, const bool DoSetPosX )
return;
}
+ sal_uInt16 eFlags = SwCursorShell::CHKRANGE;
if ( !bIdleEnd )
eFlags |= SwCursorShell::SCROLLWIN;
@@ -316,7 +312,7 @@ void SwCursorShell::EndCursorMove( const bool bIdleEnd )
#ifdef DBG_UTIL
OSL_ENSURE( m_nCursorMove, "EndCursorMove() without SttCursorMove()." );
#endif
- EndAction( bIdleEnd, true );
+ EndAction( bIdleEnd );
--m_nCursorMove;
#ifdef DBG_UTIL
if( !m_nCursorMove )