Tue, 20 Feb 2024 00:40:30 -0600
Use g_task_set_source_tag on all of our async methods
This is supposed to help with debugging and profiling per the docs for
g_task_set_name, which is automatically called by g_task_set_source_tag in
glib >= 2.76.0 which is our minimum requirement.
Testing Done:
Consulted with the turtles
Reviewed at https://reviews.imfreedom.org/r/2955/
--- a/libpurple/plugins/keychain-access/keychain-access.c Sat Feb 10 01:32:36 2024 -0600 +++ b/libpurple/plugins/keychain-access/keychain-access.c Tue Feb 20 00:40:30 2024 -0600 @@ -139,6 +139,7 @@ /* Create the task and return our results. */ task = g_task_new(provider, cancellable, callback, data); + g_task_set_source_tag(task, purple_keychain_access_read_password_async); if(result == errSecSuccess) { if(CFGetTypeID(item) != CFDataGetTypeID()) { @@ -236,6 +237,7 @@ /* Now create the GTask and set the result. */ task = g_task_new(provider, cancellable, callback, data); + g_task_set_source_tag(task, purple_keychain_access_write_password_async); if(result == errSecSuccess) { g_task_return_boolean(task, TRUE); @@ -303,6 +305,7 @@ /* Now create the GTask and set the result. */ task = g_task_new(provider, cancellable, callback, data); + g_task_set_source_tag(task, purple_keychain_access_clear_password_async); if(result == errSecSuccess) { g_task_return_boolean(task, TRUE);
--- a/libpurple/plugins/kwallet/purplekwallet.cpp Sat Feb 10 01:32:36 2024 -0600 +++ b/libpurple/plugins/kwallet/purplekwallet.cpp Tue Feb 20 00:40:30 2024 -0600 @@ -416,6 +416,12 @@ task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + /* We manually set the task name otherwise the (gpointer) cast ends up in + * the name. + */ + g_task_set_static_name(task, "purple_kwallet_read_password_async"); + g_task_set_source_tag(task, (gpointer)purple_kwallet_read_password_async); + request = new PurpleKWalletPlugin::ReadRequest(key, task); kwallet_provider = PURPLE_KWALLET_PROVIDER(provider); @@ -446,6 +452,12 @@ task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + /* We manually set the task name otherwise the (gpointer) cast ends up in + * the name. + */ + g_task_set_static_name(task, "purple_kwallet_write_password_async"); + g_task_set_source_tag(task, (gpointer)purple_kwallet_write_password_async); + key = purple_kwallet_provider_account_key(account); request = new PurpleKWalletPlugin::WriteRequest(key, task, password); @@ -477,6 +489,12 @@ task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + /* We manually set the task name otherwise the (gpointer) cast ends up in + * the name. + */ + g_task_set_static_name(task, "purple_kwallet_clear_password_async"); + g_task_set_source_tag(task, (gpointer)purple_kwallet_clear_password_async); + key = purple_kwallet_provider_account_key(account); request = new PurpleKWalletPlugin::ClearRequest(key, task);
--- a/libpurple/plugins/libsecret/libsecret.c Sat Feb 10 01:32:36 2024 -0600 +++ b/libpurple/plugins/libsecret/libsecret.c Tue Feb 20 00:40:30 2024 -0600 @@ -149,7 +149,10 @@ gpointer data) { PurpleContactInfo *info = PURPLE_CONTACT_INFO(account); - GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + GTask *task = NULL; + + task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, purple_libsecret_read_password_async); secret_password_lookup(&purple_libsecret_schema, cancellable, purple_libsecret_read_password_callback, task, @@ -183,6 +186,7 @@ const gchar *username = NULL; task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, purple_libsecret_write_password_async); username = purple_contact_info_get_username(info); label = g_strdup_printf(_("libpurple password for account %s"), username); @@ -215,7 +219,10 @@ gpointer data) { PurpleContactInfo *info = PURPLE_CONTACT_INFO(account); - GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + GTask *task = NULL; + + task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, purple_libsecret_clear_password_async); secret_password_clear(&purple_libsecret_schema, cancellable, purple_libsecret_clear_password_callback, task,
--- a/libpurple/plugins/wincred/wincred.c Sat Feb 10 01:32:36 2024 -0600 +++ b/libpurple/plugins/wincred/wincred.c Tue Feb 20 00:40:30 2024 -0600 @@ -96,6 +96,8 @@ PCREDENTIALW credential = NULL; task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, purple_wincred_read_password_async); + target_name = wincred_get_target_name(account, &error); if (target_name == NULL) { g_task_return_error(task, error); @@ -193,6 +195,7 @@ CREDENTIALW credential; task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, purple_wincred_write_password_async); target_name = wincred_get_target_name(account, &error); if (target_name == NULL) { @@ -284,6 +287,7 @@ gunichar2 *target_name = NULL; task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, purple_wincred_clear_password_async); target_name = wincred_get_target_name(account, &error); if (target_name == NULL) {
--- a/libpurple/purplecredentialmanager.c Sat Feb 10 01:32:36 2024 -0600 +++ b/libpurple/purplecredentialmanager.c Tue Feb 20 00:40:30 2024 -0600 @@ -482,6 +482,7 @@ g_return_if_fail(PURPLE_IS_ACCOUNT(account)); task = g_task_new(manager, cancellable, callback, data); + g_task_set_source_tag(task, purple_credential_manager_read_password_async); if(manager->active != NULL) { purple_credential_provider_read_password_async(manager->active, @@ -521,6 +522,8 @@ g_return_if_fail(PURPLE_IS_ACCOUNT(account)); task = g_task_new(manager, cancellable, callback, data); + g_task_set_source_tag(task, + purple_credential_manager_write_password_async); if(!purple_account_get_remember_password(account)) { const gchar *name = NULL; @@ -574,6 +577,8 @@ g_return_if_fail(PURPLE_IS_ACCOUNT(account)); task = g_task_new(manager, cancellable, callback, data); + g_task_set_source_tag(task, + purple_credential_manager_clear_password_async); if(manager->active != NULL) { purple_credential_provider_clear_password_async(manager->active, @@ -616,4 +621,3 @@ func(PURPLE_CREDENTIAL_PROVIDER(value), data); } } -
--- a/libpurple/purplenoopcredentialprovider.c Sat Feb 10 01:32:36 2024 -0600 +++ b/libpurple/purplenoopcredentialprovider.c Tue Feb 20 00:40:30 2024 -0600 @@ -40,7 +40,11 @@ GAsyncReadyCallback callback, gpointer data) { - GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + GTask *task = NULL; + + task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, + purple_noop_credential_provider_read_password_async); g_task_return_new_error(task, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0, _("provider does not store passwords")); @@ -64,7 +68,11 @@ GAsyncReadyCallback callback, gpointer data) { - GTask *task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + GTask *task = NULL; + + task = g_task_new(G_OBJECT(provider), cancellable, callback, data); + g_task_set_source_tag(task, + purple_noop_credential_provider_write_password_async); g_task_return_new_error(task, PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0, _("provider does not store passwords"));