[Libreoffice-commits] core.git: vcl/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Wed Mar 31 19:07:52 UTC 2021


 vcl/source/app/salvtables.cxx |   13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

New commits:
commit 4de064ca4b001993f5b7742b7cb40944d70e1ba1
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Mar 29 21:10:10 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Wed Mar 31 21:07:10 2021 +0200

    ensure background color is used when layout widgets bg is overridden
    
    so in the sidebar the header lines with a custom bg are always drawn
    with that bg when resized
    
    Change-Id: I9bb7e9ea1324b677c025d66bd9bf8d39e8ad1a09
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113339
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 94f2a159577a..656211e13cf3 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -227,9 +227,16 @@ void SalInstanceWidget::set_background(const Color& rColor)
 {
     m_xWidget->SetControlBackground(rColor);
     m_xWidget->SetBackground(m_xWidget->GetControlBackground());
-    // turn off WB_CLIPCHILDREN otherwise the bg won't extend "under"
-    // transparent children of the widget
-    m_xWidget->SetStyle(m_xWidget->GetStyle() & ~WB_CLIPCHILDREN);
+    if (m_xWidget->GetStyle() & WB_CLIPCHILDREN)
+    {
+        // turn off WB_CLIPCHILDREN otherwise the bg won't extend "under"
+        // transparent children of the widget e.g. expander in sidebar panel header
+        m_xWidget->SetStyle(m_xWidget->GetStyle() & ~WB_CLIPCHILDREN);
+        // and toggle mbClipChildren on instead otherwise the bg won't fill e.g.
+        // deck titlebar header when its width is stretched
+        WindowImpl* pImpl = m_xWidget->ImplGetWindowImpl();
+        pImpl->mbClipChildren = true;
+    }
 }
 
 SalInstanceWidget::SalInstanceWidget(vcl::Window* pWidget, SalInstanceBuilder* pBuilder,


More information about the Libreoffice-commits mailing list