diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-01-22 18:34:27 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2016-01-22 19:19:00 +0100 |
commit | 7b48a8fb2f0a0d8b854ec00d5f03ec09e8cfa4da (patch) | |
tree | f9e54ef576ecdaf34c83fa8e08c437a2f772cec3 /sw/qa | |
parent | 455069c6ec3e3b08dda1c7cc1104161a935b0364 (diff) |
sw tiled rendering: avoid unnecessary invalidation in SwView::SetVisArea()
SwWrtShell's visible area is set to the entire document since
12e3b51abe883202af09769873f87b27d7de118b (tdf#94237 tiled rendering: Use
the entire document as the visual area., 2015-09-15).
Let's be consistent and do the same for SwView, so that
SwView::PageDown() and all other similar functions do not cause
unnecessary invalidations, as this way later we'll realize that SwView's
and SwWrtShell's visible area is the same.
Change-Id: Ia22f07ddfb18c6f5ab6cbafede7cf8799b1177a1
Diffstat (limited to 'sw/qa')
-rw-r--r-- | sw/qa/extras/tiledrendering/data/pagedown-invalidation.odt | bin | 0 -> 8528 bytes | |||
-rw-r--r-- | sw/qa/extras/tiledrendering/tiledrendering.cxx | 26 |
2 files changed, 25 insertions, 1 deletions
diff --git a/sw/qa/extras/tiledrendering/data/pagedown-invalidation.odt b/sw/qa/extras/tiledrendering/data/pagedown-invalidation.odt Binary files differnew file mode 100644 index 000000000000..0cad2d270ae0 --- /dev/null +++ b/sw/qa/extras/tiledrendering/data/pagedown-invalidation.odt diff --git a/sw/qa/extras/tiledrendering/tiledrendering.cxx b/sw/qa/extras/tiledrendering/tiledrendering.cxx index 160f3aa8675f..cf0afae7bf1b 100644 --- a/sw/qa/extras/tiledrendering/tiledrendering.cxx +++ b/sw/qa/extras/tiledrendering/tiledrendering.cxx @@ -48,6 +48,7 @@ public: void testDocumentSizeChanged(); void testSearchAll(); void testSearchAllNotifications(); + void testPageDownInvalidation(); CPPUNIT_TEST_SUITE(SwTiledRenderingTest); CPPUNIT_TEST(testRegisterCallback); @@ -64,6 +65,7 @@ public: CPPUNIT_TEST(testDocumentSizeChanged); CPPUNIT_TEST(testSearchAll); CPPUNIT_TEST(testSearchAllNotifications); + CPPUNIT_TEST(testPageDownInvalidation); CPPUNIT_TEST_SUITE_END(); private: @@ -78,12 +80,14 @@ private: std::vector<int> m_aSearchResultPart; int m_nSelectionBeforeSearchResult; int m_nSelectionAfterSearchResult; + int m_nInvalidations; }; SwTiledRenderingTest::SwTiledRenderingTest() : m_bFound(true), m_nSelectionBeforeSearchResult(0), - m_nSelectionAfterSearchResult(0) + m_nSelectionAfterSearchResult(0), + m_nInvalidations(0) { } @@ -119,6 +123,7 @@ void SwTiledRenderingTest::callbackImpl(int nType, const char* pPayload) m_aInvalidation.setWidth(aSeq[2].toInt32()); m_aInvalidation.setHeight(aSeq[3].toInt32()); } + ++m_nInvalidations; } break; case LOK_CALLBACK_DOCUMENT_SIZE_CHANGED: @@ -493,6 +498,25 @@ void SwTiledRenderingTest::testSearchAllNotifications() comphelper::LibreOfficeKit::setActive(false); } +void SwTiledRenderingTest::testPageDownInvalidation() +{ + comphelper::LibreOfficeKit::setActive(); + + SwXTextDocument* pXTextDocument = createDoc("pagedown-invalidation.odt"); + uno::Sequence<beans::PropertyValue> aPropertyValues(comphelper::InitPropertySequence( + { + {".uno:HideWhitespace", uno::makeAny(true)}, + })); + pXTextDocument->initializeForTiledRendering(aPropertyValues); + pXTextDocument->registerCallback(&SwTiledRenderingTest::callback, this); + comphelper::dispatchCommand(".uno:PageDown", uno::Sequence<beans::PropertyValue>()); + + // This was 2. + CPPUNIT_ASSERT_EQUAL(0, m_nInvalidations); + + comphelper::LibreOfficeKit::setActive(false); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SwTiledRenderingTest); CPPUNIT_PLUGIN_IMPLEMENT(); |