vcl/source/window/paint.cxx |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

New commits:
commit fbaa1c3377f445180db2f7811b9516895b357aa8
Author:     Luboš Luňák <l.lu...@collabora.com>
AuthorDate: Fri Sep 24 11:47:30 2021 +0200
Commit:     Luboš Luňák <l.lu...@collabora.com>
CommitDate: Tue Sep 28 13:47:54 2021 +0200

    optimize out a bit of Invalidate() in LOK mode
    
    Change-Id: I3c076e2506c9cade7e6bb874a2cddfa1ef0db6a7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122674
    Tested-by: Jenkins
    Reviewed-by: Luboš Luňák <l.lu...@collabora.com>

diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 65451c0c4d59..302faae5df06 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -1179,8 +1179,11 @@ void Window::Invalidate( const tools::Rectangle& rRect, 
InvalidateFlags nFlags )
     tools::Rectangle aRect = pOutDev->ImplLogicToDevicePixel( rRect );
     if ( !aRect.IsEmpty() )
     {
-        vcl::Region aRegion( aRect );
-        ImplInvalidate( &aRegion, nFlags );
+        if (!comphelper::LibreOfficeKit::isActive())
+        {   // ImplInvalidate() immediatelly returns in LOK mode, skip useless 
Region construction
+            vcl::Region aRegion( aRect );
+            ImplInvalidate( &aRegion, nFlags );
+        }
         tools::Rectangle aLogicRectangle(rRect);
         LogicInvalidate(&aLogicRectangle);
     }

Reply via email to