diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index ba8d3c0241..6160504759 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -994,6 +994,7 @@ update_places (GtkPlacesSidebar *sidebar) _("Trash"), icon, mount_uri, NULL, NULL, NULL, 0, _("Open the trash")); + g_object_add_weak_pointer (G_OBJECT (sidebar->trash_row), &sidebar->trash_row); g_object_unref (icon); } @@ -4041,6 +4042,12 @@ gtk_places_sidebar_dispose (GObject *object) g_clear_object (&sidebar->trash_monitor); } + if (sidebar->trash_row) + { + g_object_remove_weak_pointer (G_OBJECT (sidebar->trash_row), &sidebar->trash_row); + sidebar->trash_row = NULL; + } + if (sidebar->volume_monitor != NULL) { g_signal_handlers_disconnect_by_func (sidebar->volume_monitor,