diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2014-04-28 20:24:53 -0700 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2014-04-28 20:26:52 -0700 |
commit | 89412e0439757547b384c7b802801d1221b28bb8 (patch) | |
tree | 6dee4cc5a3a29e8ff5aafcaebe41cd248648300f | |
parent | 3d259af61fd2de8be5cdbe30be65e27a24625811 (diff) | |
download | nautilus-89412e0439757547b384c7b802801d1221b28bb8.tar.gz |
desktop-link: use g_signal_connect_object
Instead of keeping track of signal connections manually.
-rw-r--r-- | libnautilus-private/nautilus-desktop-link-monitor.c | 32 | ||||
-rw-r--r-- | libnautilus-private/nautilus-desktop-link.c | 22 |
2 files changed, 12 insertions, 42 deletions
diff --git a/libnautilus-private/nautilus-desktop-link-monitor.c b/libnautilus-private/nautilus-desktop-link-monitor.c index 0af855f60..20e20f2e2 100644 --- a/libnautilus-private/nautilus-desktop-link-monitor.c +++ b/libnautilus-private/nautilus-desktop-link-monitor.c @@ -45,10 +45,6 @@ struct NautilusDesktopLinkMonitorDetails { NautilusDesktopLink *trash_link; NautilusDesktopLink *network_link; - gulong mount_id; - gulong unmount_id; - gulong changed_id; - GList *mount_links; }; @@ -416,16 +412,12 @@ nautilus_desktop_link_monitor_init (NautilusDesktopLinkMonitor *monitor) G_CALLBACK (desktop_volumes_visible_changed), monitor); - monitor->details->mount_id = - g_signal_connect_object (monitor->details->volume_monitor, "mount-added", - G_CALLBACK (mount_added_callback), monitor, 0); - monitor->details->unmount_id = - g_signal_connect_object (monitor->details->volume_monitor, "mount-removed", - G_CALLBACK (mount_removed_callback), monitor, 0); - monitor->details->changed_id = - g_signal_connect_object (monitor->details->volume_monitor, "mount-changed", - G_CALLBACK (mount_changed_callback), monitor, 0); - + g_signal_connect_object (monitor->details->volume_monitor, "mount-added", + G_CALLBACK (mount_added_callback), monitor, 0); + g_signal_connect_object (monitor->details->volume_monitor, "mount-removed", + G_CALLBACK (mount_removed_callback), monitor, 0); + g_signal_connect_object (monitor->details->volume_monitor, "mount-changed", + G_CALLBACK (mount_changed_callback), monitor, 0); } static void @@ -450,8 +442,6 @@ desktop_link_monitor_finalize (GObject *object) monitor = NAUTILUS_DESKTOP_LINK_MONITOR (object); - g_object_unref (monitor->details->volume_monitor); - /* Default links */ remove_link_and_preference (&monitor->details->home_link, @@ -482,15 +472,7 @@ desktop_link_monitor_finalize (GObject *object) desktop_volumes_visible_changed, monitor); - if (monitor->details->mount_id != 0) { - g_source_remove (monitor->details->mount_id); - } - if (monitor->details->unmount_id != 0) { - g_source_remove (monitor->details->unmount_id); - } - if (monitor->details->changed_id != 0) { - g_source_remove (monitor->details->changed_id); - } + g_object_unref (monitor->details->volume_monitor); G_OBJECT_CLASS (nautilus_desktop_link_monitor_parent_class)->finalize (object); } diff --git a/libnautilus-private/nautilus-desktop-link.c b/libnautilus-private/nautilus-desktop-link.c index 40d412266..bdef52cf6 100644 --- a/libnautilus-private/nautilus-desktop-link.c +++ b/libnautilus-private/nautilus-desktop-link.c @@ -42,9 +42,6 @@ struct NautilusDesktopLinkDetails { GIcon *icon; NautilusDesktopIconFile *icon_file; - - GObject *signal_handler_obj; - gulong signal_handler; /* Just for mount icons: */ GMount *mount; @@ -196,10 +193,8 @@ nautilus_desktop_link_new (NautilusDesktopLinkType type) "changed::" NAUTILUS_PREFERENCES_DESKTOP_TRASH_NAME, G_CALLBACK (trash_name_changed), link); - link->details->signal_handler_obj = G_OBJECT (nautilus_trash_monitor_get ()); - link->details->signal_handler = - g_signal_connect_object (nautilus_trash_monitor_get (), "trash-state-changed", - G_CALLBACK (trash_state_changed_callback), link, 0); + g_signal_connect_object (nautilus_trash_monitor_get (), "trash-state-changed", + G_CALLBACK (trash_state_changed_callback), link, 0); break; case NAUTILUS_DESKTOP_LINK_NETWORK: @@ -261,11 +256,9 @@ nautilus_desktop_link_new_from_mount (GMount *mount) link->details->activation_location = g_mount_get_default_location (mount); link->details->icon = g_mount_get_icon (mount); - link->details->signal_handler_obj = G_OBJECT (mount); - link->details->signal_handler = - g_signal_connect (mount, "changed", - G_CALLBACK (mount_changed_callback), link); - + g_signal_connect_object (mount, "changed", + G_CALLBACK (mount_changed_callback), link, 0); + create_icon_file (link); return link; @@ -387,11 +380,6 @@ desktop_link_finalize (GObject *object) link = NAUTILUS_DESKTOP_LINK (object); - if (link->details->signal_handler != 0) { - g_signal_handler_disconnect (link->details->signal_handler_obj, - link->details->signal_handler); - } - if (link->details->icon_file != NULL) { nautilus_desktop_icon_file_remove (link->details->icon_file); nautilus_file_unref (NAUTILUS_FILE (link->details->icon_file)); |