[gnome-software] plugin loader: Set the return-on-cancel flag for all threaded tasks



commit 59ae161d671f1a322b44dbbbb79a3e1ef2f3092c
Author: Kalev Lember <kalevlember gmail com>
Date:   Sun Oct 5 23:00:58 2014 +0200

    plugin loader: Set the return-on-cancel flag for all threaded tasks
    
    This ensures that we get an immediate synchronous callback when we call
    g_cancellable_cancel. Being able to rely on that makes the calling code
    simpler and easier to understand.

 src/gs-plugin-loader.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/src/gs-plugin-loader.c b/src/gs-plugin-loader.c
index 64024af..d99849d 100644
--- a/src/gs-plugin-loader.c
+++ b/src/gs-plugin-loader.c
@@ -1057,6 +1057,7 @@ gs_plugin_loader_get_updates_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_updates_thread_cb);
        g_object_unref (task);
 }
@@ -1154,6 +1155,7 @@ gs_plugin_loader_get_sources_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_sources_thread_cb);
        g_object_unref (task);
 }
@@ -1260,6 +1262,7 @@ gs_plugin_loader_get_installed_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_installed_thread_cb);
        g_object_unref (task);
 }
@@ -1358,6 +1361,7 @@ gs_plugin_loader_get_popular_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_popular_thread_cb);
        g_object_unref (task);
 }
@@ -1480,6 +1484,7 @@ gs_plugin_loader_get_featured_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_featured_thread_cb);
        g_object_unref (task);
 }
@@ -1839,6 +1844,7 @@ gs_plugin_loader_get_categories_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_categories_thread_cb);
        g_object_unref (task);
 }
@@ -1992,6 +1998,7 @@ gs_plugin_loader_get_category_apps_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_get_category_apps_thread_cb);
        g_object_unref (task);
 }
@@ -2078,6 +2085,7 @@ gs_plugin_loader_app_refine_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_app_refine_thread_cb);
        g_object_unref (task);
 }
@@ -2399,6 +2407,7 @@ gs_plugin_loader_app_action_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_app_action_thread_cb);
        g_object_unref (task);
 }
@@ -3180,6 +3189,7 @@ gs_plugin_loader_refresh_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_refresh_thread_cb);
        g_object_unref (task);
 }
@@ -3326,6 +3336,7 @@ gs_plugin_loader_filename_to_app_async (GsPluginLoader *plugin_loader,
        /* run in a thread */
        task = g_task_new (plugin_loader, cancellable, callback, user_data);
        g_task_set_task_data (task, state, (GDestroyNotify) gs_plugin_loader_free_async_state);
+       g_task_set_return_on_cancel (task, TRUE);
        g_task_run_in_thread (task, gs_plugin_loader_filename_to_app_thread_cb);
        g_object_unref (task);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]