diff options
-rw-r--r-- | sd/qa/unit/tiledrendering/LOKitSearchTest.cxx | 4 | ||||
-rw-r--r-- | vcl/source/window/paint.cxx | 21 |
2 files changed, 20 insertions, 5 deletions
diff --git a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx index 762faaac1b56..8bb2144bbe80 100644 --- a/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx +++ b/sd/qa/unit/tiledrendering/LOKitSearchTest.cxx @@ -236,8 +236,8 @@ void LOKitSearchTest::testSearchAllSelections() lcl_search("third", /*bFindAll=*/true); // Make sure this is found on the 3rd slide. CPPUNIT_ASSERT_EQUAL(static_cast<sal_Int32>(2), mpCallbackRecorder->m_nPart); - - CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(1), mpCallbackRecorder->m_aSelection.size()); + // This was 1: only the first match was highlighted. + CPPUNIT_ASSERT_EQUAL(static_cast<std::size_t>(2), mpCallbackRecorder->m_aSelection.size()); } void LOKitSearchTest::testSearchAllNotifications() diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx index 734e4d8ed63b..4efb43c1bc1b 100644 --- a/vcl/source/window/paint.cxx +++ b/vcl/source/window/paint.cxx @@ -646,6 +646,12 @@ void Window::ImplCallOverlapPaint() IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void) { + if (comphelper::LibreOfficeKit::isActive() && true) + { + // Tiled rendering is used, idle paint does not need to do anything. + mpWindowImpl->mpFrameData->maPaintIdle.Stop(); + return; + } #ifndef IOS comphelper::ProfileZone aZone("VCL idle re-paint"); @@ -665,9 +671,6 @@ IMPL_LINK_NOARG(Window, ImplHandlePaintHdl, Timer *, void) else if ( mpWindowImpl->mbReallyVisible ) { ImplCallOverlapPaint(); - if (comphelper::LibreOfficeKit::isActive() && - mpWindowImpl->mpFrameData->maPaintIdle.IsActive()) - mpWindowImpl->mpFrameData->maPaintIdle.Stop(); } #endif } @@ -689,6 +692,12 @@ IMPL_LINK_NOARG(Window, ImplHandleResizeTimerHdl, Timer *, void) void Window::ImplInvalidateFrameRegion( const vcl::Region* pRegion, InvalidateFlags nFlags ) { + if (comphelper::LibreOfficeKit::isActive() && true) + { + // Tiled rendering is used, so there's no need to invalidate for idle painting. + return; + } + // set PAINTCHILDREN for all parent windows till the first OverlapWindow if ( !ImplIsOverlapWindow() ) { @@ -1270,6 +1279,12 @@ void Window::PaintImmediately() if (!mpWindowImpl) return; + if (comphelper::LibreOfficeKit::isActive() && true) + { + // Tiled rendering is used, direct paint does not need to do anything. + return; + } + if ( mpWindowImpl->mpBorderWindow ) { mpWindowImpl->mpBorderWindow->PaintImmediately(); |