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