summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2015-07-20 21:19:58 -0400
committerMatthias Clasen <mclasen@redhat.com>2015-07-20 21:23:06 -0400
commit8102425f039536afa7c850fb239688a01e397380 (patch)
tree2118ff9625b7443e1a3c5044eb7bb714c1bbc43a /gtk
parent99d4ec267685f9aab0bdd172a6c3c7990db31524 (diff)
downloadgtk+-8102425f039536afa7c850fb239688a01e397380.tar.gz
places view: Disconnect from volume monitor
Just unreffing the volume monitor object won't stop it from emitting signals that we are connected to. Disconnect from the signals in finalize.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkplacesview.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/gtkplacesview.c b/gtk/gtkplacesview.c
index dfd882bbff..94ab0ee993 100644
--- a/gtk/gtkplacesview.c
+++ b/gtk/gtkplacesview.c
@@ -368,12 +368,16 @@ activate_row (GtkPlacesView *view,
}
}
+static void update_places (GtkPlacesView *view);
+
static void
gtk_places_view_finalize (GObject *object)
{
GtkPlacesView *self = (GtkPlacesView *)object;
GtkPlacesViewPrivate *priv = gtk_places_view_get_instance_private (self);
+ g_signal_handlers_disconnect_by_func (priv->volume_monitor, update_places, object);
+
if (priv->entry_pulse_timeout_id > 0)
g_source_remove (priv->entry_pulse_timeout_id);