diff options
Diffstat (limited to 'vcl/source/window/paint.cxx')
-rw-r--r-- | vcl/source/window/paint.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx index 4fef67fb6531..a11e318b6200 100644 --- a/vcl/source/window/paint.cxx +++ b/vcl/source/window/paint.cxx @@ -228,6 +228,7 @@ void PaintHelper::StartBufferedPaint() assert(!pFrameData->mbInBufferedPaint); pFrameData->mbInBufferedPaint = true; + pFrameData->maBufferedRect = Rectangle(); m_bStartedBufferedPaint = true; } @@ -238,7 +239,7 @@ void PaintHelper::PaintBuffer() assert(m_bStartedBufferedPaint); PaintBufferGuard aGuard(pFrameData, m_pWindow); - aGuard.SetPaintRect(m_aPaintRect); + aGuard.SetPaintRect(pFrameData->maBufferedRect); } void PaintHelper::DoPaint(const vcl::Region* pRegion) @@ -290,6 +291,7 @@ void PaintHelper::DoPaint(const vcl::Region* pRegion) m_pWindow->PushPaintHelper(this, *pFrameData->mpBuffer.get()); m_pWindow->Paint(*pFrameData->mpBuffer.get(), m_aPaintRect); + pFrameData->maBufferedRect.Union(m_aPaintRect); } else { @@ -551,6 +553,7 @@ PaintHelper::~PaintHelper() { PaintBuffer(); pFrameData->mbInBufferedPaint = false; + pFrameData->maBufferedRect = Rectangle(); } // #98943# draw toolbox selection |