[gtk+] gdk: Fix wrong usage of g_task_propagate_pointer()



commit 963264a73af03606a08d85be9e4459bb9eaded14
Author: Benjamin Otte <otte redhat com>
Date:   Sun Dec 10 01:04:32 2017 +0100

    gdk: Fix wrong usage of g_task_propagate_pointer()
    
    The return value is transfer full, not transfer none.

 gdk/wayland/gdkclipboard-wayland.c |   18 +++---------------
 gdk/x11/gdkclipboard-x11.c         |   22 +++++-----------------
 2 files changed, 8 insertions(+), 32 deletions(-)
---
diff --git a/gdk/wayland/gdkclipboard-wayland.c b/gdk/wayland/gdkclipboard-wayland.c
index 30ada30..63c1f75 100644
--- a/gdk/wayland/gdkclipboard-wayland.c
+++ b/gdk/wayland/gdkclipboard-wayland.c
@@ -251,28 +251,16 @@ gdk_wayland_clipboard_read_finish (GdkClipboard  *clipboard,
                                    GAsyncResult  *result,
                                    GError       **error)
 {
-  GInputStream *stream;
   GTask *task;
 
   g_return_val_if_fail (g_task_is_valid (result, G_OBJECT (clipboard)), NULL);
   task = G_TASK (result);
   g_return_val_if_fail (g_task_get_source_tag (task) == gdk_wayland_clipboard_read_async, NULL);
 
-  stream = g_task_propagate_pointer (task, error);
-
-  if (stream)
-    {
-      if (out_mime_type)
-        *out_mime_type = g_task_get_task_data (task);
-      g_object_ref (stream);
-    }
-  else
-    {
-      if (out_mime_type)
-        *out_mime_type = NULL;
-    }
+  if (out_mime_type)
+    *out_mime_type = g_task_get_task_data (task);
 
-  return stream;
+  return g_task_propagate_pointer (task, error);
 }
 
 static void
diff --git a/gdk/x11/gdkclipboard-x11.c b/gdk/x11/gdkclipboard-x11.c
index 4864c1f..f6d7b8c 100644
--- a/gdk/x11/gdkclipboard-x11.c
+++ b/gdk/x11/gdkclipboard-x11.c
@@ -1062,33 +1062,21 @@ gdk_x11_clipboard_read_finish (GdkClipboard  *clipboard,
                                GAsyncResult  *result,
                                GError       **error)
 {
-  GInputStream *stream;
   GTask *task;
 
   g_return_val_if_fail (g_task_is_valid (result, G_OBJECT (clipboard)), NULL);
   task = G_TASK (result);
   g_return_val_if_fail (g_task_get_source_tag (task) == gdk_x11_clipboard_read_async, NULL);
 
-  stream = g_task_propagate_pointer (task, error);
-
-  if (stream)
+  if (out_mime_type)
     {
-      if (out_mime_type)
-        {
-          GSList *targets;
+      GSList *targets;
 
-          targets = g_task_get_task_data (task);
-          *out_mime_type = targets->data;
-        }
-      g_object_ref (stream);
-    }
-  else
-    {
-      if (out_mime_type)
-        *out_mime_type = NULL;
+      targets = g_task_get_task_data (task);
+      *out_mime_type = targets ? targets->data : NULL;
     }
 
-  return stream;
+  return g_task_propagate_pointer (task, error);
 }
 
 static void


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