diff options
-rw-r--r-- | src/nautilus-places-sidebar.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/nautilus-places-sidebar.c b/src/nautilus-places-sidebar.c index 4ebe02379..33b9086cd 100644 --- a/src/nautilus-places-sidebar.c +++ b/src/nautilus-places-sidebar.c @@ -465,6 +465,8 @@ update_places (NautilusPlacesSidebar *sidebar) GList *network_mounts; NautilusFile *file; + DEBUG ("Updating places sidebar"); + model = NULL; last_uri = NULL; select_path = NULL; @@ -3311,7 +3313,6 @@ nautilus_places_sidebar_dispose (GObject *object) } g_clear_object (&sidebar->store); - g_clear_object (&sidebar->volume_monitor); g_clear_object (&sidebar->bookmarks); g_clear_object (&sidebar->filter_model); @@ -3329,6 +3330,29 @@ nautilus_places_sidebar_dispose (GObject *object) desktop_setting_changed_callback, sidebar); + if (sidebar->volume_monitor != NULL) { + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + volume_added_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + volume_removed_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + volume_changed_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + mount_added_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + mount_removed_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + mount_changed_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + drive_disconnected_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + drive_connected_callback, sidebar); + g_signal_handlers_disconnect_by_func (sidebar->volume_monitor, + drive_changed_callback, sidebar); + + g_clear_object (&sidebar->volume_monitor); + } + G_OBJECT_CLASS (nautilus_places_sidebar_parent_class)->dispose (object); } |