[gnome-builder] util: make file async utilities tranfsfer full
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] util: make file async utilities tranfsfer full
- Date: Mon, 9 Apr 2018 23:26:28 +0000 (UTC)
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]