diff options
author | Matthias Clasen <mclasen@redhat.com> | 2015-04-08 20:20:38 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2015-04-09 06:39:11 -0400 |
commit | ac931e95060c10dd44d0b6331d0f38e9b777d436 (patch) | |
tree | edb68268907a865d9c0fd951f162acf27a075796 /gtk/gtkpopover.c | |
parent | b2e19866ea2ccaca9593f4f4b954ab9d70791dab (diff) | |
download | gtk+-ac931e95060c10dd44d0b6331d0f38e9b777d436.tar.gz |
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
Diffstat (limited to 'gtk/gtkpopover.c')
-rw-r--r-- | gtk/gtkpopover.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c index 97d13aa861..37064c829a 100644 --- a/gtk/gtkpopover.c +++ b/gtk/gtkpopover.c @@ -304,7 +304,10 @@ gtk_popover_dispose (GObject *object) GtkPopoverPrivate *priv = popover->priv; 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; |