vcl/source/window/layout.cxx |    2 +-
 vcl/unx/gtk3/gtk3gtkinst.cxx |   35 +++++++++++++++++++----------------
 2 files changed, 20 insertions(+), 17 deletions(-)

New commits:
commit f88c03b1d115cd09e3271b278b39bf600e21f6cd
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue Nov 10 17:25:42 2020 +0000
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Tue Nov 10 21:03:39 2020 +0100

    sync the vcl expander default with the gtk one to !m_bResizeTopLevel
    
    Change-Id: Ia186514efa9e670ce2287201f16978fc1b0e9146
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105564
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/source/window/layout.cxx b/vcl/source/window/layout.cxx
index 676fae9dbc4f..6cbc00e05e72 100644
--- a/vcl/source/window/layout.cxx
+++ b/vcl/source/window/layout.cxx
@@ -1623,7 +1623,7 @@ public:
 
 VclExpander::VclExpander(vcl::Window *pParent)
     : VclBin(pParent)
-    , m_bResizeTopLevel(true)
+    , m_bResizeTopLevel(false)
     , m_pDisclosureButton(VclPtr<DisclosureButton>::Create(this))
 {
     m_pDisclosureButton->SetToggleHdl(LINK(this, VclExpander, ClickHdl));
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index db2b765841ff..83cf0aad9cec 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -16150,26 +16150,29 @@ private:
         GtkInstanceExpander* pThis = static_cast<GtkInstanceExpander*>(widget);
         SolarMutexGuard aGuard;
 
-        GtkWidget *pToplevel = gtk_widget_get_toplevel(GTK_WIDGET(pExpander));
-
-        // https://gitlab.gnome.org/GNOME/gtk/issues/70
-        // I imagine at some point a release with a fix will be available in 
which
-        // case this can be avoided depending on version number
-        if (pToplevel && GTK_IS_WINDOW(pToplevel) && 
gtk_widget_get_realized(pToplevel))
+        if (gtk_expander_get_resize_toplevel(pExpander))
         {
-            int nToplevelWidth, nToplevelHeight;
-            int nChildHeight;
+            GtkWidget *pToplevel = 
gtk_widget_get_toplevel(GTK_WIDGET(pExpander));
 
-            GtkWidget* child = gtk_bin_get_child(GTK_BIN(pExpander));
-            gtk_widget_get_preferred_height(child, &nChildHeight, nullptr);
-            gtk_window_get_size(GTK_WINDOW(pToplevel), &nToplevelWidth, 
&nToplevelHeight);
+            // https://gitlab.gnome.org/GNOME/gtk/issues/70
+            // I imagine at some point a release with a fix will be available 
in which
+            // case this can be avoided depending on version number
+            if (pToplevel && GTK_IS_WINDOW(pToplevel) && 
gtk_widget_get_realized(pToplevel))
+            {
+                int nToplevelWidth, nToplevelHeight;
+                int nChildHeight;
 
-            if (pThis->get_expanded())
-                nToplevelHeight += nChildHeight;
-            else
-                nToplevelHeight -= nChildHeight;
+                GtkWidget* child = gtk_bin_get_child(GTK_BIN(pExpander));
+                gtk_widget_get_preferred_height(child, &nChildHeight, nullptr);
+                gtk_window_get_size(GTK_WINDOW(pToplevel), &nToplevelWidth, 
&nToplevelHeight);
 
-            gtk_window_resize(GTK_WINDOW(pToplevel), nToplevelWidth, 
nToplevelHeight);
+                if (pThis->get_expanded())
+                    nToplevelHeight += nChildHeight;
+                else
+                    nToplevelHeight -= nChildHeight;
+
+                gtk_window_resize(GTK_WINDOW(pToplevel), nToplevelWidth, 
nToplevelHeight);
+            }
         }
 
         pThis->signal_expanded();
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to