Files
gtk3/debian/patches/Further-simplification.patch
Simon McVittie d03dca1d46 d/patches: Update to upstream gtk-3-24 branch commit 3.24.34-204-g2fcc114870
Windows- and macOS-specific changes excluded.
2022-11-15 11:28:51 +00:00

61 lines
2.4 KiB
Diff

From: Sergio Costas <rastersoft@gmail.com>
Date: Tue, 16 Aug 2022 23:14:44 +0200
Subject: Further simplification
Origin: upstream, 3.24.35, commit:4892c8901b16b533d4c583eabc805e1f2a84f33d
---
gtk/gtkpopover.c | 19 ++++---------------
1 file changed, 4 insertions(+), 15 deletions(-)
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
index 4182c5f..45680d0 100644
--- a/gtk/gtkpopover.c
+++ b/gtk/gtkpopover.c
@@ -456,7 +456,7 @@ window_focus_in (GtkWidget *widget,
if (focus == NULL || !gtk_widget_is_ancestor (focus, GTK_WIDGET (popover)))
gtk_widget_grab_focus (GTK_WIDGET (popover));
- if (priv->grab_notify_blocked)
+ if (priv->grab_notify_blocked && priv->widget)
g_signal_handler_unblock (priv->widget, priv->grab_notify_id);
priv->grab_notify_blocked = FALSE;
@@ -2097,7 +2097,6 @@ gtk_popover_update_relative_to (GtkPopover *popover,
{
GtkPopoverPrivate *priv = popover->priv;
GtkStateFlags old_state = 0;
- gboolean had_grab_notify_blocked = FALSE;
if (priv->widget == relative_to)
return;
@@ -2124,14 +2123,7 @@ gtk_popover_update_relative_to (GtkPopover *popover,
if (g_signal_handler_is_connected (priv->widget, priv->state_changed_id))
g_signal_handler_disconnect (priv->widget, priv->state_changed_id);
if (g_signal_handler_is_connected (priv->widget, priv->grab_notify_id))
- {
- if (priv->grab_notify_blocked)
- {
- priv->grab_notify_blocked = FALSE;
- had_grab_notify_blocked = TRUE;
- }
- g_signal_handler_disconnect (priv->widget, priv->grab_notify_id);
- }
+ g_signal_handler_disconnect (priv->widget, priv->grab_notify_id);
widget_unmanage_popover (priv->widget, popover);
}
@@ -2167,11 +2159,8 @@ gtk_popover_update_relative_to (GtkPopover *popover,
g_signal_connect (priv->widget, "grab-notify",
G_CALLBACK (_gtk_popover_parent_grab_notify),
popover);
- if (had_grab_notify_blocked)
- {
- g_signal_handler_block (priv->widget, priv->grab_notify_id);
- priv->grab_notify_blocked = TRUE;
- }
+ if (priv->grab_notify_blocked)
+ g_signal_handler_block (priv->widget, priv->grab_notify_id);
/* Give ownership of the popover to widget */
widget_manage_popover (priv->widget, popover);