From c58a4f4f1ee1fcf34fdf1fc8f22def7e5455a182 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Mon, 14 May 2018 15:49:50 -0400 Subject: 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 --- libgdm/gdm-client.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libgdm/gdm-client.c b/libgdm/gdm-client.c index a88a5d7e..06dfe725 100644 --- a/libgdm/gdm-client.c +++ b/libgdm/gdm-client.c @@ -390,11 +390,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; @@ -530,10 +532,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; -- cgit v1.2.1