summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/qa/unit/tiledrendering/LOKitSearchTest.cxx4
-rw-r--r--vcl/source/window/paint.cxx21
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();