[gdm/rhel-7.9: 4/51] libgdm: fix pointer/boolean task confusion




commit 6fce5da8e30f1a68939695a4bebe51e3d56cfc66
Author: Ray Strode <rstrode redhat com>
Date:   Mon May 14 15:49:50 2018 -0400

    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 294f4f4d0..58ede0aab 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;


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