forked from AuroraMiddleware/gtk
gtkplacessidebar: clean up trash row on destroy
Track with a weak ref the trash row, so we can clean up the data in the private struct. Spotted and reviewed by Christian Hergert.
This commit is contained in:
parent
c3e56d3d83
commit
377ac909b7
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user