summaryrefslogtreecommitdiff
path: root/libcaja-private
diff options
context:
space:
mode:
Diffstat (limited to 'libcaja-private')
-rw-r--r--libcaja-private/caja-desktop-link-monitor.c3
-rw-r--r--libcaja-private/caja-desktop-link.c7
2 files changed, 7 insertions, 3 deletions
diff --git a/libcaja-private/caja-desktop-link-monitor.c b/libcaja-private/caja-desktop-link-monitor.c
index 05cb7f4a..ee5d85d4 100644
--- a/libcaja-private/caja-desktop-link-monitor.c
+++ b/libcaja-private/caja-desktop-link-monitor.c
@@ -488,6 +488,7 @@ desktop_link_monitor_finalize (GObject *object)
desktop_volumes_visible_changed,
monitor);
+/* These sources are already gone, this just causes errors
if (monitor->details->mount_id != 0)
{
g_source_remove (monitor->details->mount_id);
@@ -500,7 +501,7 @@ desktop_link_monitor_finalize (GObject *object)
{
g_source_remove (monitor->details->changed_id);
}
-
+*/
g_free (monitor->details);
EEL_CALL_PARENT (G_OBJECT_CLASS, finalize, (object));
diff --git a/libcaja-private/caja-desktop-link.c b/libcaja-private/caja-desktop-link.c
index dfb1a54d..d695af6d 100644
--- a/libcaja-private/caja-desktop-link.c
+++ b/libcaja-private/caja-desktop-link.c
@@ -460,8 +460,11 @@ desktop_link_finalize (GObject *object)
if (link->details->signal_handler != 0)
{
- g_signal_handler_disconnect (link->details->signal_handler_obj,
- link->details->signal_handler);
+ if (g_signal_handler_is_connected(link->details->signal_handler_obj,
+ link->details->signal_handler)){
+ g_signal_handler_disconnect (link->details->signal_handler_obj,
+ link->details->signal_handler);
+ }
}
if (link->details->icon_file != NULL)