[gnome-builder] util: make file async utilities tranfsfer full



commit 9ff06779a95cee699baa36a2ca2bd7776ec21656
Author: Christian Hergert <chergert redhat com>
Date:   Mon Apr 9 16:25:11 2018 -0700

    util: make file async utilities tranfsfer full

 src/libide/buildsystem/ide-build-system.c                |  1 +
 src/libide/util/ide-glib.c                               | 16 ++++++++++++----
 src/plugins/flatpak/gbp-flatpak-configuration-provider.c |  1 +
 3 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/src/libide/buildsystem/ide-build-system.c b/src/libide/buildsystem/ide-build-system.c
index bc8ec59bb..3ff0adb99 100644
--- a/src/libide/buildsystem/ide-build-system.c
+++ b/src/libide/buildsystem/ide-build-system.c
@@ -626,6 +626,7 @@ ide_build_system_get_build_flags_for_dir_cb (GObject      *object,
   g_assert (IDE_IS_TASK (task));
 
   infos = ide_g_file_get_children_finish (dir, result, &error);
+  IDE_PTR_ARRAY_SET_FREE_FUNC (infos, g_object_unref);
 
   if (infos == NULL)
     {
diff --git a/src/libide/util/ide-glib.c b/src/libide/util/ide-glib.c
index 14fec7ff6..f07a3242a 100644
--- a/src/libide/util/ide-glib.c
+++ b/src/libide/util/ide-glib.c
@@ -390,7 +390,7 @@ ide_g_file_get_children_async (GFile               *file,
  *
  * Completes an asynchronous request to ide_g_file_get_children_async().
  *
- * Returns: (transfer container) (element-type Gio.File): A #GPtrArray
+ * Returns: (transfer full) (element-type Gio.File): A #GPtrArray
  *   of #GFileInfo if successful, otherwise %NULL.
  *
  * Since: 3.28
@@ -400,11 +400,15 @@ ide_g_file_get_children_finish (GFile         *file,
                                 GAsyncResult  *result,
                                 GError       **error)
 {
+  GPtrArray *ret;
+
   g_return_val_if_fail (G_IS_FILE (file), NULL);
   g_return_val_if_fail (IDE_IS_TASK (result), NULL);
   g_return_val_if_fail (ide_task_is_valid (IDE_TASK (result), file), NULL);
 
-  return ide_task_propagate_pointer (IDE_TASK (result), error);
+  ret = ide_task_propagate_pointer (IDE_TASK (result), error);
+
+  return IDE_PTR_ARRAY_STEAL_FULL (&ret);
 }
 
 static void
@@ -545,17 +549,21 @@ ide_g_file_find_async (GFile               *file,
  *
  * Gets the files that were found which matched the pattern.
  *
- * Returns: (transfer container) (element-type Gio.File): A #GPtrArray of #GFile
+ * Returns: (transfer full) (element-type Gio.File): A #GPtrArray of #GFile
  */
 GPtrArray *
 ide_g_file_find_finish (GFile         *file,
                         GAsyncResult  *result,
                         GError       **error)
 {
+  GPtrArray *ret;
+
   g_return_val_if_fail (G_IS_FILE (file), NULL);
   g_return_val_if_fail (IDE_IS_TASK (result), NULL);
 
-  return ide_task_propagate_pointer (IDE_TASK (result), error);
+  ret = ide_task_propagate_pointer (IDE_TASK (result), error);
+
+  return IDE_PTR_ARRAY_STEAL_FULL (&ret);
 }
 
 /**
diff --git a/src/plugins/flatpak/gbp-flatpak-configuration-provider.c 
b/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
index 27d86f25b..2e5396db3 100644
--- a/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
+++ b/src/plugins/flatpak/gbp-flatpak-configuration-provider.c
@@ -356,6 +356,7 @@ load_find_files_cb (GObject      *object,
   g_assert (IDE_IS_TASK (task));
 
   ret = ide_g_file_find_finish (file, result, &error);
+  IDE_PTR_ARRAY_SET_FREE_FUNC (ret, g_object_unref);
 
   if (ret == NULL)
     {


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