diff options
author | David Zeuthen <davidz@redhat.com> | 2008-09-02 19:36:29 +0000 |
---|---|---|
committer | David Zeuthen <davidz@src.gnome.org> | 2008-09-02 19:36:29 +0000 |
commit | 82ba822318ead7936704ec403c971a6905cfb469 (patch) | |
tree | 33ccf4fbe379f61bbceb0eba5476623284601e2e /monitor/hal | |
parent | a4dadfac7b3d059618a7d00dc882bb2dc8ca6493 (diff) | |
download | gvfs-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
Diffstat (limited to 'monitor/hal')
-rw-r--r-- | monitor/hal/ghaldrive.c | 2 | ||||
-rw-r--r-- | monitor/hal/ghalmount.c | 7 |
2 files changed, 6 insertions, 3 deletions
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); |