summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2014-04-28 20:24:53 -0700
committerCosimo Cecchi <cosimoc@gnome.org>2014-04-28 20:26:52 -0700
commit89412e0439757547b384c7b802801d1221b28bb8 (patch)
tree6dee4cc5a3a29e8ff5aafcaebe41cd248648300f
parent3d259af61fd2de8be5cdbe30be65e27a24625811 (diff)
downloadnautilus-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.c32
-rw-r--r--libnautilus-private/nautilus-desktop-link.c22
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));