sw/source/core/view/viewsh.cxx | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-)
New commits: commit c9175a1bd3249ad573ae6827bf19963a3ebe2fbc Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Jul 3 17:52:44 2015 +0200 SwViewShell::ImplEndAction: avoid direct PaintDesktop() With double-buffering enabled and typing quickly, one saw blinks in the text sometimes. The reason was that PaintDesktop() painted directly outside SwViewShell::Paint(). The problem is more visible with VCL_DOUBLEBUFFERING_AVOID_PAINT=1, loading a simple document + pressing a key draw an unexpected white rectangle. Given that InvalidateWindows() already calls PaintDesktop() inside Paint() implicitly (via SwViewShell::Paint()), fix the problem by just avoiding the DLPrePaint2() + PaintDesktop() + DLPostPaint2() calls. Change-Id: Ib8ce26a0bdd526bf85d362f0e865dd61d29f6d11 diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 0f27fc5..9462b8f 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -405,20 +405,7 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd ) } if ( bPaint ) { - // #i75172# begin DrawingLayer paint - // need to do begin/end DrawingLayer preparation for each single rectangle of the - // repaint region. I already tried to prepare only once for the whole Region. This - // seems to work (and does technically) but fails with transparent objects. Since the - // region given to BeginDarwLayers() defines the clip region for DrawingLayer paint, - // transparent objects in the single rectangles will indeed be painted multiple times. - DLPrePaint2(vcl::Region(aRect.SVRect())); - - if ( bPaintsFromSystem ) - PaintDesktop(*GetOut(), aRect); - pCurrentLayout->GetCurrShell()->InvalidateWindows(aRect.SVRect()); - - // #i75172# end DrawingLayer paint - DLPostPaint2(true); + InvalidateWindows(aRect.SVRect()); } lcl_PaintTransparentFormControls(*this, aRect); // i#107365 _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits