[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue Apr 14 08:42:13 UTC 2020
vcl/unx/gtk3/gtk3gtkinst.cxx | 15 +++++++++++++++
1 file changed, 15 insertions(+)
New commits:
commit 670f0b16f3d3f2a879303ef06ba8a08f275c1380
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Mon Apr 13 20:53:05 2020 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue Apr 14 10:41:33 2020 +0200
improve reparenting to keep size-group and size-request
Change-Id: Id12fc3f5c55d7ed027f11645bb17233d2da9e268
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92129
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm at redhat.com>
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 4dc4f10152d2..bc36504a4234 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -1746,6 +1746,21 @@ namespace
gtk_container_remove(GTK_CONTAINER(pParent), pWidget);
gtk_widget_set_visible(pReplacement, gtk_widget_get_visible(pWidget));
+ gtk_widget_set_no_show_all(pReplacement, gtk_widget_get_no_show_all(pWidget));
+
+ int nReqWidth, nReqHeight;
+ gtk_widget_get_size_request(pWidget, &nReqWidth, &nReqHeight);
+ gtk_widget_set_size_request(pReplacement, nReqWidth, nReqHeight);
+
+ static GQuark quark_size_groups = g_quark_from_static_string("gtk-widget-size-groups");
+ GSList* pSizeGroups = static_cast<GSList*>(g_object_get_qdata(G_OBJECT(pWidget), quark_size_groups));
+ while (pSizeGroups)
+ {
+ GtkSizeGroup *pSizeGroup = static_cast<GtkSizeGroup*>(pSizeGroups->data);
+ pSizeGroups = pSizeGroups->next;
+ gtk_size_group_remove_widget(pSizeGroup, pWidget);
+ gtk_size_group_add_widget(pSizeGroup, pReplacement);
+ }
gtk_container_add(GTK_CONTAINER(pParent), pReplacement);
More information about the Libreoffice-commits
mailing list