diff options
author | Ray Strode <rstrode@redhat.com> | 2018-05-14 15:49:50 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2021-04-12 16:57:53 -0400 |
commit | 6fce5da8e30f1a68939695a4bebe51e3d56cfc66 (patch) | |
tree | ad2ce667ecf31dc4ca9a91a81e6516b865bc74c9 | |
parent | 3e601bcc085bd82f3e8e70d34c7bc518ce3e8a91 (diff) | |
download | gdm-6fce5da8e30f1a68939695a4bebe51e3d56cfc66.tar.gz |
libgdm: fix pointer/boolean task confusion
The manager fetching code in GdmClient treats its task
return value as boolean, but it's actually a pointer (the manager)
This commit corrects the confusion.
https://bugzilla.gnome.org/show_bug.cgi?id=795940
-rw-r--r-- | libgdm/gdm-client.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libgdm/gdm-client.c b/libgdm/gdm-client.c index 294f4f4d..58ede0aa 100644 --- a/libgdm/gdm-client.c +++ b/libgdm/gdm-client.c @@ -391,11 +391,13 @@ on_got_manager_for_reauthentication (GdmClient *client, GTask *task) { GCancellable *cancellable; + GdmManager *manager; char *username; GError *error; error = NULL; - if (!g_task_propagate_boolean (G_TASK (result), &error)) { + manager = g_task_propagate_pointer (G_TASK (result), &error); + if (manager == NULL) { g_task_return_error (task, error); g_object_unref (task); return; @@ -534,10 +536,12 @@ on_got_manager_for_opening_connection (GdmClient *client, GTask *task) { GCancellable *cancellable; + GdmManager *manager; GError *error; error = NULL; - if (!g_task_propagate_boolean (G_TASK (result), &error)) { + manager = g_task_propagate_pointer (G_TASK (result), &error); + if (manager == NULL) { g_task_return_error (task, error); g_object_unref (task); return; |