sw/source/core/layout/layact.cxx | 3 --- sw/source/core/view/viewsh.cxx | 4 ++-- vcl/source/window/window.cxx | 3 +-- 3 files changed, 3 insertions(+), 7 deletions(-)
New commits: commit 278404a3fae926aeadcf8065b4a5faa07b8c15e2 Author: Miklos Vajna <[email protected]> Date: Mon Jul 6 17:49:35 2015 +0200 tdf#92577 sw rendercontext: paint transparent from controls conditionally Regression from commit beb4aa21d61f0d66392d596be86fb57b4b167239 (SwViewShell::ImplEndAction: avoid direct paint, 2015-06-29), the problem was that the lcl_PaintTransparentFormControls() call performs direct paint, so it should be called only in case we don't do an async paint via invalidate. As expected, this call is no longer needed for the original i#107365 bug document in case SwViewShell::Paint() will be called by the main loop shortly. Change-Id: Ia27c551ed838d610f972f20abbb4ae9f0e1241b6 (cherry picked from commit 2b26c1796d0a05f47cfb01d79ee4f69344efbbb2) diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index 9b96a58..a019fae 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -407,8 +407,8 @@ void SwViewShell::ImplEndAction( const bool bIdleEnd ) { InvalidateWindows(aRect.SVRect()); } - - lcl_PaintTransparentFormControls(*this, aRect); // i#107365 + else + lcl_PaintTransparentFormControls(*this, aRect); // i#107365 } pVout.disposeAndClear(); commit fabf8a4dfebe19abcb5f995c20d8750f95d89a9a Author: Miklos Vajna <[email protected]> Date: Mon Jul 6 12:01:02 2015 +0200 SwLayAction::FormatLayout: avoid direct DrawRect() Regression from commit 1d9e837698baab795efee6cc8b0e289528d5cac6 (Use GetBoundRect() instead of Frm() in layout., 2011-04-29), this causes problems for double-buffered rendering and also seems to be pointless, as just above we already added the rectangle to the repaint area. Change-Id: I3dc67143e8332ab941a683414ee318dbef13de88 (cherry picked from commit e47db97d2ced9178456eebaece11118158dce406) diff --git a/sw/source/core/layout/layact.cxx b/sw/source/core/layout/layact.cxx index 307a038..d1c5cd4 100644 --- a/sw/source/core/layout/layact.cxx +++ b/sw/source/core/layout/layact.cxx @@ -1335,9 +1335,6 @@ bool SwLayAction::FormatLayout( OutputDevice *pRenderContext, SwLayoutFrm *pLay, if(aSpaceToPrevPage.Height() > 0 && aSpaceToPrevPage.Width() > 0) pImp->GetShell()->AddPaintRect( aSpaceToPrevPage ); - if (pSh) - pRenderContext->DrawRect( aSpaceToPrevPage.SVRect() ); - // left aSpaceToPrevPage = aPageRect; aSpaceToPrevPage.Left( aSpaceToPrevPage.Left() - nHalfDocBorder ); commit f3596e705d072f2d968cd4cc75f8aeecf4048552 Author: Miklos Vajna <[email protected]> Date: Mon Jul 6 11:17:06 2015 +0200 Revert "vcl::Window::SupportsDoubleBuffering: respect VCL_DOUBLEBUFFERING_FORCE_ENABLE" This reverts commit 7df3879d3f6222b840724ae748bdf8bf6a7af9f1. It's not necessary since commit f16d82ea8f1d2815faa978a4481c6b3c9c8705f8 (make it possible to force enable double buffering for all widgets, 2015-06-03). (cherry picked from commit 158654894091db2689ddf83d2bb2104e9a408f29) diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 8afd412..6e3e60e 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -3943,8 +3943,7 @@ vcl::RenderSettings& Window::GetRenderSettings() bool Window::SupportsDoubleBuffering() const { - static bool bDoubleBuffering = getenv("VCL_DOUBLEBUFFERING_FORCE_ENABLE"); - return mpWindowImpl->mbDoubleBuffering || bDoubleBuffering; + return mpWindowImpl->mbDoubleBuffering; } void Window::SetDoubleBuffering(bool bDoubleBuffering) _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
