From 82ba822318ead7936704ec403c971a6905cfb469 Mon Sep 17 00:00:00 2001 From: David Zeuthen Date: Tue, 2 Sep 2008 19:36:29 +0000 Subject: Remember to refcount objects (#546971). 2008-09-02 David Zeuthen * 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 --- ChangeLog | 10 ++++++++++ monitor/hal/ghaldrive.c | 2 +- monitor/hal/ghalmount.c | 7 +++++-- monitor/proxy/gproxymount.c | 3 ++- monitor/proxy/gproxyvolume.c | 1 + 5 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2262beb3..d0ec7bbe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-09-02 David Zeuthen + + * 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 * monitor/hal/ghalvolume.c (format_size_for_display): Add docs 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); } -- cgit v1.2.1