From e0fe93062e50691d1caab0b361af4e855032981b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Apr 2015 20:20:38 -0400 Subject: [PATCH] popover: Remove signal handlers in dispose If we don't, they may get triggered at an inopportune time later, causing us to crash. See https://bugzilla.redhat.com/show_bug.cgi?id=1203499 https://bugzilla.gnome.org/show_bug.cgi?id=747539 --- gtk/gtkpopover.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c index 65e1b05841..3da8cc755e 100644 --- a/gtk/gtkpopover.c +++ b/gtk/gtkpopover.c @@ -243,7 +243,10 @@ gtk_popover_dispose (GObject *object) gtk_widget_set_visible (GTK_WIDGET (object), FALSE); if (priv->window) - _gtk_window_remove_popover (priv->window, GTK_WIDGET (object)); + { + g_signal_handlers_disconnect_by_data (priv->window, popover); + _gtk_window_remove_popover (priv->window, GTK_WIDGET (object)); + } priv->window = NULL;