1
--- trunk/gio/gfilemonitor.c 2008/03/05 11:40:12 6629
2
+++ trunk/gio/gfilemonitor.c 2008/03/05 11:50:27 6630
4
* are monitoring, connect to the #GFileMonitor::changed signal.
7
+G_LOCK_DEFINE_STATIC(cancelled);
17
g_value_set_boolean (value, priv->cancelled);
18
+ G_UNLOCK (cancelled);
23
monitor = G_FILE_MONITOR (object);
25
/* Make sure we cancel on last unref */
26
- if (!monitor->priv->cancelled)
27
- g_file_monitor_cancel (monitor);
28
+ g_file_monitor_cancel (monitor);
30
if (G_OBJECT_CLASS (g_file_monitor_parent_class)->dispose)
31
(*G_OBJECT_CLASS (g_file_monitor_parent_class)->dispose) (object);
33
g_file_monitor_is_cancelled (GFileMonitor *monitor)
35
g_return_val_if_fail (G_IS_FILE_MONITOR (monitor), FALSE);
38
- return monitor->priv->cancelled;
40
+ res = monitor->priv->cancelled;
41
+ G_UNLOCK (cancelled);
49
g_return_val_if_fail (G_IS_FILE_MONITOR (monitor), FALSE);
52
if (monitor->priv->cancelled)
55
+ G_UNLOCK (cancelled);
59
monitor->priv->cancelled = TRUE;
60
+ G_UNLOCK (cancelled);
62
g_object_notify (G_OBJECT (monitor), "cancelled");
64
klass = G_FILE_MONITOR_GET_CLASS (monitor);
65
--- trunk/gio/glocaldirectorymonitor.c 2008/03/05 11:40:12 6629
66
+++ trunk/gio/glocaldirectorymonitor.c 2008/03/05 11:50:27 6630
68
g_unix_mount_free (mount);
70
local_monitor->mount_monitor = g_unix_mount_monitor_new ();
71
- g_signal_connect (local_monitor->mount_monitor, "mounts_changed",
72
- G_CALLBACK (mounts_changed), local_monitor);
73
+ g_signal_connect_object (local_monitor->mount_monitor, "mounts_changed",
74
+ G_CALLBACK (mounts_changed), local_monitor, 0);