diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | monitor/hal/ghaldrive.c | 2 | ||||
-rw-r--r-- | monitor/hal/ghalmount.c | 7 | ||||
-rw-r--r-- | monitor/proxy/gproxymount.c | 3 | ||||
-rw-r--r-- | monitor/proxy/gproxyvolume.c | 1 |
5 files changed, 19 insertions, 4 deletions
@@ -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); } |