summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2008-09-02 19:36:29 +0000
committerDavid Zeuthen <davidz@src.gnome.org>2008-09-02 19:36:29 +0000
commit82ba822318ead7936704ec403c971a6905cfb469 (patch)
tree33ccf4fbe379f61bbceb0eba5476623284601e2e
parenta4dadfac7b3d059618a7d00dc882bb2dc8ca6493 (diff)
downloadgvfs-82ba822318ead7936704ec403c971a6905cfb469.tar.gz
Remember to refcount objects (#546971).
2008-09-02 David Zeuthen <davidz@redhat.com> * monitor/hal/ghaldrive.c: (g_hal_drive_eject_do): * monitor/hal/ghalmount.c: (unmount_cb), (unmount_do), (eject_wrapper_callback), (g_hal_mount_eject): * monitor/proxy/gproxymount.c: (eject_wrapper_callback), (g_proxy_mount_eject): * monitor/proxy/gproxyvolume.c: (eject_wrapper_callback): Remember to refcount objects (#546971). svn path=/trunk/; revision=1931
-rw-r--r--ChangeLog10
-rw-r--r--monitor/hal/ghaldrive.c2
-rw-r--r--monitor/hal/ghalmount.c7
-rw-r--r--monitor/proxy/gproxymount.c3
-rw-r--r--monitor/proxy/gproxyvolume.c1
5 files changed, 19 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 2262beb3..d0ec7bbe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2008-09-02 David Zeuthen <davidz@redhat.com>
+ * monitor/hal/ghaldrive.c: (g_hal_drive_eject_do):
+ * monitor/hal/ghalmount.c: (unmount_cb), (unmount_do),
+ (eject_wrapper_callback), (g_hal_mount_eject):
+ * monitor/proxy/gproxymount.c: (eject_wrapper_callback),
+ (g_proxy_mount_eject):
+ * monitor/proxy/gproxyvolume.c: (eject_wrapper_callback):
+ Remember to refcount objects (#546971).
+
+2008-09-02 David Zeuthen <davidz@redhat.com>
+
* monitor/hal/ghalvolume.c (format_size_for_display): Add docs
explaining why powers of 10 are used.
diff --git a/monitor/hal/ghaldrive.c b/monitor/hal/ghaldrive.c
index 6b2629a7..c7aea30b 100644
--- a/monitor/hal/ghaldrive.c
+++ b/monitor/hal/ghaldrive.c
@@ -644,7 +644,7 @@ g_hal_drive_eject_do (GDrive *drive,
G_UNLOCK (hal_drive);
data = g_new0 (SpawnOp, 1);
- data->object = G_OBJECT (drive);
+ data->object = g_object_ref (drive);
data->callback = callback;
data->user_data = user_data;
data->cancellable = cancellable;
diff --git a/monitor/hal/ghalmount.c b/monitor/hal/ghalmount.c
index bf847e08..138c9a10 100644
--- a/monitor/hal/ghalmount.c
+++ b/monitor/hal/ghalmount.c
@@ -957,6 +957,8 @@ unmount_cb (GPid pid, gint status, gpointer user_data)
g_string_free (data->error_string, TRUE);
close (data->error_fd);
g_spawn_close_pid (pid);
+
+ g_object_unref (data->object);
g_free (data);
}
@@ -988,7 +990,7 @@ unmount_do (GMount *mount,
GError *error;
data = g_new0 (UnmountOp, 1);
- data->object = G_OBJECT (mount);
+ data->object = g_object_ref (mount);
data->callback = callback;
data->user_data = user_data;
data->cancellable = cancellable;
@@ -1079,6 +1081,7 @@ eject_wrapper_callback (GObject *source_object,
{
EjectWrapperOp *data = user_data;
data->callback (data->object, res, data->user_data);
+ g_object_unref (data->object);
g_free (data);
}
@@ -1102,7 +1105,7 @@ g_hal_mount_eject (GMount *mount,
{
EjectWrapperOp *data;
data = g_new0 (EjectWrapperOp, 1);
- data->object = G_OBJECT (mount);
+ data->object = g_object_ref (mount);
data->callback = callback;
data->user_data = user_data;
g_drive_eject (drive, flags, cancellable, eject_wrapper_callback, data);
diff --git a/monitor/proxy/gproxymount.c b/monitor/proxy/gproxymount.c
index 148f0d8f..123f5c43 100644
--- a/monitor/proxy/gproxymount.c
+++ b/monitor/proxy/gproxymount.c
@@ -361,6 +361,7 @@ eject_wrapper_callback (GObject *source_object,
{
EjectWrapperOp *data = user_data;
data->callback (data->object, res, data->user_data);
+ g_object_unref (data->object);
g_free (data);
}
@@ -379,7 +380,7 @@ g_proxy_mount_eject (GMount *mount,
{
EjectWrapperOp *data;
data = g_new0 (EjectWrapperOp, 1);
- data->object = G_OBJECT (mount);
+ data->object = g_object_ref (mount);
data->callback = callback;
data->user_data = user_data;
g_drive_eject (drive, flags, cancellable, eject_wrapper_callback, data);
diff --git a/monitor/proxy/gproxyvolume.c b/monitor/proxy/gproxyvolume.c
index 19c5b553..23730b2f 100644
--- a/monitor/proxy/gproxyvolume.c
+++ b/monitor/proxy/gproxyvolume.c
@@ -413,6 +413,7 @@ eject_wrapper_callback (GObject *source_object,
{
EjectWrapperOp *data = user_data;
data->callback (data->object, res, data->user_data);
+ g_object_unref (data->object);
g_free (data);
}