[Libreoffice-commits] core.git: vcl/source

Michael Meeks michael.meeks at collabora.com
Mon Sep 14 10:00:22 PDT 2015


 vcl/source/window/paint.cxx |    8 ++++++++
 1 file changed, 8 insertions(+)

New commits:
commit 4a55670e2453cdb9895f51bbd4051f7004d768c5
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Mon Sep 14 18:09:25 2015 +0100

    tdf#94213 - defer glFlushing until we've re-rendered after a re-size.
    
    Avoids a rather horrible flickering problem in GL mode.
    
    Change-Id: Id205f28de209dc2e4fb6d6fa48b86ee5bd38835d

diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index 74c74db..429711e 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -651,6 +651,8 @@ IMPL_LINK_NOARG_TYPED(Window, ImplHandlePaintHdl, Idle *, void)
         return;
     }
 
+    BeginPaint();
+
     // save paint events until resizing or initial sizing done
     if (!ImplDoTiledRendering() && mpWindowImpl->mbFrame &&
         (mpWindowImpl->mpFrameData->maResizeIdle.IsActive() ||
@@ -662,12 +664,16 @@ IMPL_LINK_NOARG_TYPED(Window, ImplHandlePaintHdl, Idle *, void)
     {
         ImplCallOverlapPaint();
     }
+
+    EndPaint();
 }
 
 IMPL_LINK_NOARG_TYPED(Window, ImplHandleResizeTimerHdl, Idle *, void)
 {
     if( mpWindowImpl->mbReallyVisible )
     {
+        BeginPaint();
+
         ImplCallResize();
         if( ImplDoTiledRendering() )
         {
@@ -678,6 +684,8 @@ IMPL_LINK_NOARG_TYPED(Window, ImplHandleResizeTimerHdl, Idle *, void)
             mpWindowImpl->mpFrameData->maPaintIdle.Stop();
             mpWindowImpl->mpFrameData->maPaintIdle.GetIdleHdl().Call( NULL );
         }
+
+        EndPaint();
     }
 }
 


More information about the Libreoffice-commits mailing list