vcl/source/window/paint.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
New commits: commit 43ac95ab64980ed958ba144c33971f897791d15f Author: Miklos Vajna <[email protected]> Date: Fri Jul 31 18:01:13 2015 +0200 tdf#92982 vcl rendercontext: handle empty repaint rect in PaintHelper Empty repaint rectangle means the whole window, while Erase() is a NOP in case of an empty rectangle. This fixes the sidebar rendering artifacts the screenshot shows in the bugreport. Change-Id: I12e35ceb0aa529d65b7acf01d8cdb719101adebe diff --git a/vcl/source/window/paint.cxx b/vcl/source/window/paint.cxx index 9a4ca08..b707a54 100644 --- a/vcl/source/window/paint.cxx +++ b/vcl/source/window/paint.cxx @@ -114,8 +114,12 @@ void PaintHelper::StartBufferedPaint() // Instead of creating a new VirtualDevice, just erase the area we'll be // painting over, as VirtualDevice::ImplInitVirDev() would do. + // The painted area is m_aPaintRect, or in case it's empty, then the whole window. pFrameData->mpBuffer->SetBackground(Wallpaper(Color(COL_WHITE))); - pFrameData->mpBuffer->Erase(m_aPaintRect); + if (m_aPaintRect.IsEmpty()) + pFrameData->mpBuffer->Erase(Rectangle(Point(0, 0), m_pWindow->GetOutputSize())); + else + pFrameData->mpBuffer->Erase(m_aPaintRect); pFrameData->mbInBufferedPaint = true; m_bCreatedBuffer = true; _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
