[Libreoffice-commits] core.git: Branch 'feature/fixes8' - sw/source

Miklos Vajna vmiklos at collabora.co.uk
Tue Sep 1 03:10:12 PDT 2015


 sw/source/core/view/viewsh.cxx |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit f28a4cd68b221ffbf18c916aea4aad177a29d73d
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Tue Sep 1 11:41:39 2015 +0200

    SwViewShell::ImplEndAction: still paint directly when non-double-buffering
    
    It turns out that in this case it hurts performance if we go via
    invaliation-then-paint instead of direct painting when double-buffering
    is not enabled.
    
    Related commits:
    
    - beb4aa21d61f0d66392d596be86fb57b4b167239 (SwViewShell::ImplEndAction:
      avoid direct paint, 2015-06-29) and
      c9175a1bd3249ad573ae6827bf19963a3ebe2fbc (SwViewShell::ImplEndAction:
      avoid direct PaintDesktop(), 2015-07-03) globally avoided direct paints
    - 222f10e773ba51a19880be1b798990260c198147 (tdf#93096 sw: fix selection
      with keyboard outside current view, 2015-08-18) restored direct paint
      when non-double-buffering for the second commit, this one does the
      same for the first
    
    Change-Id: Ida0c6917a8cdec74209bd64813c7876d4fa61b8a

diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 1b4b80d..cd04a88 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -419,7 +419,10 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd )
 
                             if ( bPaintsFromSystem )
                                 PaintDesktop(*GetOut(), aRect);
-                            pCurrentLayout->GetCurrShell()->InvalidateWindows(aRect.SVRect());
+                            if (!isTiledRendering())
+                                pCurrentLayout->Paint( *mpOut, aRect );
+                            else
+                                pCurrentLayout->GetCurrShell()->InvalidateWindows(aRect.SVRect());
 
                             // #i75172# end DrawingLayer paint
                             DLPostPaint2(true);


More information about the Libreoffice-commits mailing list