sw/qa/extras/tiledrendering/tiledrendering.cxx | 10 +++++----- sw/source/core/doc/DocumentRedlineManager.cxx | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-)
New commits: commit 113c4566933b798e3de4daf9e276ce24cdb8e773 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Fri Oct 20 14:35:51 2023 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Oct 20 19:05:55 2023 +0200 Avoid double notifications for deletion case Follow-up to commit 34ac12dca3f5af50fddfb7c77e2943897980b815 When old redline is own Insert, and the new one is Delete, it means that it was already handled in DocumentRedlineManager::DeleteRedline. This also reverts the unit test change done in the mentioned commit. Change-Id: I77e59dceb1c880fc6ec10ad98867be3bf5282f70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158253 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index a280c0473843..4ed5f3af6cdb 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -1652,9 +1652,9 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testRedlineUpdateCallback) m_nRedlineTableEntryModified = 0; pWrtShell->DelLeft(); - // Assert that we get exactly two notification about the redline update. + // Assert that we get exactly one notification about the redline update. // This was 0, as LOK_CALLBACK_REDLINE_TABLE_ENTRY_MODIFIED wasn't sent. - CPPUNIT_ASSERT_EQUAL(2, m_nRedlineTableEntryModified); + CPPUNIT_ASSERT_EQUAL(1, m_nRedlineTableEntryModified); // Turn off the change tracking mode, make some modification to left of the // redline so that its position changes @@ -1663,18 +1663,18 @@ CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testRedlineUpdateCallback) pWrtShell->Insert("This text is left of the redline"); // Position of the redline has changed => Modify callback - CPPUNIT_ASSERT_EQUAL(3, m_nRedlineTableEntryModified); + CPPUNIT_ASSERT_EQUAL(2, m_nRedlineTableEntryModified); pWrtShell->DelLeft(); // Deletion also emits Modify callback - CPPUNIT_ASSERT_EQUAL(4, m_nRedlineTableEntryModified); + CPPUNIT_ASSERT_EQUAL(3, m_nRedlineTableEntryModified); // Make changes to the right of the redline => no position change in redline pWrtShell->Right(SwCursorSkipMode::Chars, /*bSelect=*/false, 100/*Go enough right */, /*bBasicCall=*/false); pWrtShell->Insert("This text is right of the redline"); // No Modify callbacks - CPPUNIT_ASSERT_EQUAL(4, m_nRedlineTableEntryModified); + CPPUNIT_ASSERT_EQUAL(3, m_nRedlineTableEntryModified); } CPPUNIT_TEST_FIXTURE(SwTiledRenderingTest, testGetViewRenderState) diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx index 7a9af1ee8891..5ac574b54858 100644 --- a/sw/source/core/doc/DocumentRedlineManager.cxx +++ b/sw/source/core/doc/DocumentRedlineManager.cxx @@ -1842,8 +1842,8 @@ DocumentRedlineManager::AppendRedline(SwRangeRedline* pNewRedl, bool const bCall delete pNewRedl; pNewRedl = nullptr; - if (!bDec) - MaybeNotifyRedlineModification(*pRedl, m_rDoc); + // No need to call MaybeNotifyRedlineModification, because a notification + // was already sent in DocumentRedlineManager::DeleteRedline break; case SwComparePosition::Outside: