[totem] screenshot: Replace deprecated GSimpleAsyncResult
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [totem] screenshot: Replace deprecated GSimpleAsyncResult
- Date: Fri, 25 Oct 2019 09:21:59 +0000 (UTC)
commit 2417ce5f5bc863bd5da70c6ad2ff7afbba43d879
Author: Robert Roth <robert roth off gmail com>
Date: Wed Oct 23 18:59:01 2019 +0200
screenshot: Replace deprecated GSimpleAsyncResult
GSimpleAsyncResult is deprecated since GIO 2.46 in favor of GTask,
which was introduced in GIO 2.36.
Written by Robert Roth for gnome-screenshot, committed as
cf23196cfc2444a93b64524c5f7ca6b371623516.
Applied to totem (with an offset of 2 lines) and changed commit message
by Gabor Karsay.
.../screenshot/screenshot-filename-builder.c | 44 ++++++++--------------
1 file changed, 16 insertions(+), 28 deletions(-)
---
diff --git a/src/plugins/screenshot/screenshot-filename-builder.c
b/src/plugins/screenshot/screenshot-filename-builder.c
index 6e87c2be5..eb3a0c19e 100644
--- a/src/plugins/screenshot/screenshot-filename-builder.c
+++ b/src/plugins/screenshot/screenshot-filename-builder.c
@@ -43,8 +43,6 @@ typedef struct
char *screenshot_origin;
int iteration;
TestType type;
-
- GSimpleAsyncResult *async_result;
} AsyncExistenceJob;
/* Taken from gnome-vfs-utils.c */
@@ -171,8 +169,6 @@ async_existence_job_free (AsyncExistenceJob *job)
g_free (job->screenshot_origin);
- g_clear_object (&job->async_result);
-
g_slice_free (AsyncExistenceJob, job);
}
@@ -192,10 +188,11 @@ prepare_next_cycle (AsyncExistenceJob *job)
return res;
}
-static gboolean
-try_check_file (GIOSchedulerJob *io_job,
- GCancellable *cancellable,
- gpointer data)
+static void
+try_check_file (GTask *task,
+ gpointer source_object,
+ gpointer data,
+ GCancellable *cancellable)
{
AsyncExistenceJob *job = data;
GFile *file;
@@ -289,18 +286,13 @@ out:
g_error_free (error);
g_object_unref (file);
- g_simple_async_result_set_op_res_gpointer (job->async_result,
- retval, NULL);
if (retval == NULL)
- g_simple_async_result_set_error (job->async_result,
- G_IO_ERROR,
- G_IO_ERROR_FAILED,
- "%s", "Failed to find a valid place to save");
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
+ "%s", "Failed to find a valid place to save");
- g_simple_async_result_complete_in_idle (job->async_result);
- async_existence_job_free (job);
-
- return FALSE;
+ g_task_return_pointer (task, retval, NULL);
}
void
@@ -310,6 +302,7 @@ screenshot_build_filename_async (const char *save_dir,
gpointer user_data)
{
AsyncExistenceJob *job;
+ GTask *task;
job = g_slice_new0 (AsyncExistenceJob);
@@ -321,21 +314,16 @@ screenshot_build_filename_async (const char *save_dir,
job->screenshot_origin = g_strdup (screenshot_origin);
- job->async_result = g_simple_async_result_new (NULL,
- callback, user_data,
- screenshot_build_filename_async);
+ task = g_task_new (NULL, NULL, callback, user_data);
+ g_task_set_task_data (task, job, (GDestroyNotify) async_existence_job_free);
- g_io_scheduler_push_job (try_check_file,
- job, NULL,
- G_PRIORITY_DEFAULT, NULL);
+ g_task_run_in_thread (task, try_check_file);
+ g_object_unref (task);
}
gchar *
screenshot_build_filename_finish (GAsyncResult *result,
GError **error)
{
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
- return NULL;
-
- return g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (result));
+ return g_task_propagate_pointer (G_TASK (result), error);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]