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

New commits:
commit ac2bd6e1c50b0155707b90d301ccb9df5cd91a92
Author: Miklos Vajna <vmik...@collabora.co.uk>
Date:   Mon Aug 3 10:58:58 2015 +0200

    tdf#92982 vcl rendercontext: no need to call SetupBuffer() twice
    
    No need to call it in PaintHelper::StartBufferedPaint(), which would
    happen only for the root of the paint hierarchy. It's enough to do it in
    PaintHelper::DoPaint(), which happens for each widget.
    
    (cherry picked from commits 27f6b2c038f5daf16a7fff4adf478b603eb08399 and
    8bb963c3e51725fba649a5db0f5deb8778f1232b)
    
    Change-Id: Iaf3306ef746bedbe64be36c4efeae73afd75db2a
    Reviewed-on: https://gerrit.libreoffice.org/17500
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>

diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx
index c529d13..ee5d47a 100644
--- a/vcl/source/window/paint.cxx
+++ b/vcl/source/window/paint.cxx
@@ -52,7 +52,7 @@ private:
     sal_uInt16 m_nPaintFlags;
     bool m_bPop : 1;
     bool m_bRestoreCursor : 1;
-    bool m_bCreatedBuffer : 1; ///< This PaintHelper created the buffer for 
the double-buffering, and should dispose it when being destructed (if it is 
still alive by then).
+    bool m_bStartedBufferedPaint : 1; ///< This PaintHelper started a buffered 
paint, and should paint it on the screen when being destructed.
 public:
     PaintHelper(vcl::Window* pWindow, sal_uInt16 nPaintFlags);
     void SetPop()
@@ -103,7 +103,7 @@ PaintHelper::PaintHelper(vcl::Window *pWindow, sal_uInt16 
nPaintFlags)
     , m_nPaintFlags(nPaintFlags)
     , m_bPop(false)
     , m_bRestoreCursor(false)
-    , m_bCreatedBuffer(false)
+    , m_bStartedBufferedPaint(false)
 {
 }
 
@@ -122,9 +122,7 @@ void PaintHelper::StartBufferedPaint()
         pFrameData->mpBuffer->Erase(m_aPaintRect);
 
     pFrameData->mbInBufferedPaint = true;
-    m_bCreatedBuffer = true;
-
-    SetupBuffer();
+    m_bStartedBufferedPaint = true;
 
     // Remember what was the map mode of m_aPaintRect.
     m_aPaintRectMapMode = m_pWindow->GetMapMode();
@@ -171,7 +169,7 @@ void PaintHelper::PaintBuffer()
 {
     ImplFrameData* pFrameData = m_pWindow->mpWindowImpl->mpFrameData;
     assert(pFrameData->mbInBufferedPaint);
-    assert(m_bCreatedBuffer);
+    assert(m_bStartedBufferedPaint);
 
     pFrameData->mpBuffer->mnOutOffX = 0;
     pFrameData->mpBuffer->mnOutOffY = 0;
@@ -524,7 +522,7 @@ PaintHelper::~PaintHelper()
 
     // double-buffering: paint in case we created the buffer, the children are
     // already painted inside
-    if (m_bCreatedBuffer && pFrameData->mbInBufferedPaint)
+    if (m_bStartedBufferedPaint && pFrameData->mbInBufferedPaint)
     {
         PaintBuffer();
         pFrameData->mbInBufferedPaint = false;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to