[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - 3 commits - sw/source vcl/source

Miklos Vajna vmiklos at collabora.co.uk
Tue Jul 7 01:14:54 PDT 2015


 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 <vmiklos at collabora.co.uk>
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 <vmiklos at collabora.co.uk>
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 <vmiklos at collabora.co.uk>
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)


More information about the Libreoffice-commits mailing list