summaryrefslogtreecommitdiff
path: root/starmath/qa
diff options
context:
space:
mode:
authorTakeshi Abe <tabe@fixedpoint.jp>2017-02-21 12:48:33 +0900
committerTakeshi Abe <tabe@fixedpoint.jp>2017-02-21 06:44:23 +0000
commit3efdd925e0ae1c080fbef3f1f79865eb6e172c68 (patch)
treee6a93a0b242673728ddf0818909964126963a6f5 /starmath/qa
parent3eab8a00bbe46d00edf20ef0295b588197e91261 (diff)
tdf#106116 "Previous Marker" changes selection only when needed
This fixes a hang caused by repeated Shift+F4. Although it seems a regression from 2af1f5691e8d64afd5246d245d7876b5a2cd5cd8, the original code of SmEditWindow::SelPrevMark() had been doomed due to conditional loop depending on obscure signed/unsigned conversion. Change-Id: I61f630eec44b285dc1f1c27097acde4b48ed2991 Reviewed-on: https://gerrit.libreoffice.org/34503 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Takeshi Abe <tabe@fixedpoint.jp>
Diffstat (limited to 'starmath/qa')
-rw-r--r--starmath/qa/cppunit/test_starmath.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/starmath/qa/cppunit/test_starmath.cxx b/starmath/qa/cppunit/test_starmath.cxx
index 09f9abd637fa..a6916bf521bf 100644
--- a/starmath/qa/cppunit/test_starmath.cxx
+++ b/starmath/qa/cppunit/test_starmath.cxx
@@ -133,6 +133,14 @@ void Test::editMarker()
m_pEditWindow->Delete();
m_pEditWindow->InsertText("b");
+ // tdf#106116: should be safe i.e. do nothing
+ m_pEditWindow->SelPrevMark();
+ auto aSelection = m_pEditWindow->GetSelection();
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(0), aSelection.nStartPara);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(9), aSelection.nStartPos);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(0), aSelection.nEndPara);
+ CPPUNIT_ASSERT_EQUAL(sal_Int32(9), aSelection.nEndPos);
+
m_pEditWindow->Flush();
OUString sFinalText = m_pEditWindow->GetText();
CPPUNIT_ASSERT_EQUAL_MESSAGE("Should be a under b under c", sTargetText, sFinalText);