Accepting request 1071898 from GNOME:Factory
OBS-URL: https://build.opensuse.org/request/show/1071898 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk4?expand=0&rev=55factory
commit
2f2ca80fd8
@ -1,58 +0,0 @@
|
||||
From 55faea104694599298a6ca1b9f2e7a1b46bad45a Mon Sep 17 00:00:00 2001
|
||||
From: Ivan Molodetskikh <yalterz@gmail.com>
|
||||
Date: Tue, 7 Mar 2023 09:51:32 -0800
|
||||
Subject: [PATCH] combobox: Avoid extra queue_resize()
|
||||
|
||||
width-request already ensures it's above the minimum width, so avoid an
|
||||
extra queue_resize() when setting size request to (-1, -1).
|
||||
|
||||
This is the same way as GtkDropDown works. This also unbreaks
|
||||
GtkComboBox after the recent allocation fix in
|
||||
75a417e33708dab2bdb2f784a8952e085a12bf03.
|
||||
|
||||
Incidentally, this also makes GtkComboBox actually resize its popup as
|
||||
intended (that was broken before).
|
||||
|
||||
I don't think this is ultimately the final fix, sometimes I still get
|
||||
allocation warnings. But the proper fix will probably involve changing
|
||||
some more allocation machinery around popovers. This is good enough for
|
||||
now.
|
||||
---
|
||||
gtk/deprecated/gtkcombobox.c | 14 ++------------
|
||||
1 file changed, 2 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/gtk/deprecated/gtkcombobox.c b/gtk/deprecated/gtkcombobox.c
|
||||
index 618f0780b7..1e76b38f41 100644
|
||||
--- a/gtk/deprecated/gtkcombobox.c
|
||||
+++ b/gtk/deprecated/gtkcombobox.c
|
||||
@@ -366,7 +366,6 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
|
||||
{
|
||||
GtkComboBox *combo_box = GTK_COMBO_BOX (widget);
|
||||
GtkComboBoxPrivate *priv = gtk_combo_box_get_instance_private (combo_box);
|
||||
- int menu_width;
|
||||
|
||||
gtk_widget_size_allocate (priv->box,
|
||||
&(GtkAllocation) {
|
||||
@@ -374,17 +373,8 @@ gtk_combo_box_size_allocate (GtkWidget *widget,
|
||||
width, height
|
||||
}, baseline);
|
||||
|
||||
- gtk_widget_set_size_request (priv->popup_widget, -1, -1);
|
||||
-
|
||||
- if (priv->popup_fixed_width)
|
||||
- gtk_widget_measure (priv->popup_widget, GTK_ORIENTATION_HORIZONTAL, -1,
|
||||
- &menu_width, NULL, NULL, NULL);
|
||||
- else
|
||||
- gtk_widget_measure (priv->popup_widget, GTK_ORIENTATION_HORIZONTAL, -1,
|
||||
- NULL, &menu_width, NULL, NULL);
|
||||
-
|
||||
- gtk_widget_set_size_request (priv->popup_widget,
|
||||
- MAX (width, menu_width), -1);
|
||||
+ gtk_widget_set_size_request (priv->popup_widget, width, -1);
|
||||
+ gtk_widget_queue_resize (priv->popup_widget);
|
||||
|
||||
gtk_popover_present (GTK_POPOVER (priv->popup_widget));
|
||||
}
|
||||
--
|
||||
2.39.2
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 9b3fb66bd4568c05f4bd10bda7f6cc1d2ed6919e Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Mikhaylenko <alexm@gnome.org>
|
||||
Date: Mon, 6 Mar 2023 05:36:16 +0400
|
||||
Subject: [PATCH] widget: Use the correct template in dispose_template()
|
||||
|
||||
In derivable classes, the widget's class can be different from the one
|
||||
dispose_template() was called for, which can lead to failing the
|
||||
template != NULL check at best, undefined behavior at worst.
|
||||
|
||||
Since we already pass the correct GType into the function, just use that
|
||||
instead.
|
||||
---
|
||||
gtk/gtkwidget.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: gtk-4.10.0/gtk/gtkwidget.c
|
||||
===================================================================
|
||||
--- gtk-4.10.0.orig/gtk/gtkwidget.c
|
||||
+++ gtk-4.10.0/gtk/gtkwidget.c
|
||||
@@ -11180,7 +11180,8 @@ gtk_widget_dispose_template (GtkWidget *
|
||||
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||
g_return_if_fail (g_type_name (widget_type) != NULL);
|
||||
|
||||
- GtkWidgetTemplate *template = GTK_WIDGET_GET_CLASS (widget)->priv->template;
|
||||
+ GObjectClass *object_class = g_type_class_peek (widget_type);
|
||||
+ GtkWidgetTemplate *template = GTK_WIDGET_CLASS (object_class)->priv->template;
|
||||
g_return_if_fail (template != NULL);
|
||||
|
||||
/* Tear down the automatic child data */
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8dc1e7c3b3a46772f0fa416a8ca3fd21d0d0b3b03fb307d2e7327ebee69626e4
|
||||
size 20471568
|
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e8fcac04bc7715b9da667c911a5ee8f262e200d1d6a50adf23645ca8cfcd0311
|
||||
size 20481204
|
Loading…
Reference in New Issue