[gnome-builder] buildtargetprovider: make get_targets_finish() transfer-full
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] buildtargetprovider: make get_targets_finish() transfer-full
- Date: Mon, 9 Apr 2018 22:38:26 +0000 (UTC)
commit 06edcc536fb0aaef37633343f7d46e4927339164
Author: Christian Hergert <chergert redhat com>
Date: Mon Apr 9 15:38:00 2018 -0700
buildtargetprovider: make get_targets_finish() transfer-full
This makes things easier on language bindings to return an array of build
target instances.
src/libide/buildsystem/ide-build-target-provider.c | 2 +-
src/libide/runner/ide-run-manager.c | 2 ++
src/plugins/autotools/ide-autotools-build-target-provider.c | 2 +-
src/plugins/flatpak/gbp-flatpak-build-target-provider.c | 6 +++++-
src/plugins/meson/gbp-meson-build-target-provider.c | 2 +-
5 files changed, 10 insertions(+), 4 deletions(-)
---
diff --git a/src/libide/buildsystem/ide-build-target-provider.c
b/src/libide/buildsystem/ide-build-target-provider.c
index 72e81c44e..f1bb1fde1 100644
--- a/src/libide/buildsystem/ide-build-target-provider.c
+++ b/src/libide/buildsystem/ide-build-target-provider.c
@@ -104,7 +104,7 @@ ide_build_target_provider_get_targets_async (IdeBuildTargetProvider *self,
*
* See also: ide_build_target_provider_get_targets_async()
*
- * Returns: (transfer container) (element-type Ide.BuildTarget): The array of
+ * Returns: (transfer full) (element-type Ide.BuildTarget): The array of
* build targets or %NULL upon failure and @error is set.
*/
GPtrArray *
diff --git a/src/libide/runner/ide-run-manager.c b/src/libide/runner/ide-run-manager.c
index d021f5a93..dd2f49220 100644
--- a/src/libide/runner/ide-run-manager.c
+++ b/src/libide/runner/ide-run-manager.c
@@ -39,6 +39,7 @@
#include "runner/ide-runner.h"
#include "runtimes/ide-runtime.h"
#include "threading/ide-task.h"
+#include "util/ide-glib.h"
struct _IdeRunManager
{
@@ -891,6 +892,7 @@ ide_run_manager_provider_get_targets_cb (GObject *object,
g_assert (g_list_find (state->providers, provider) != NULL);
ret = ide_build_target_provider_get_targets_finish (provider, result, &error);
+ IDE_PTR_ARRAY_SET_FREE_FUNC (ret, g_object_unref);
if (ret != NULL)
{
diff --git a/src/plugins/autotools/ide-autotools-build-target-provider.c
b/src/plugins/autotools/ide-autotools-build-target-provider.c
index c19f56842..8c3e8837a 100644
--- a/src/plugins/autotools/ide-autotools-build-target-provider.c
+++ b/src/plugins/autotools/ide-autotools-build-target-provider.c
@@ -152,7 +152,7 @@ ide_autotools_build_target_provider_get_targets_finish (IdeBuildTargetProvider
ret = ide_task_propagate_pointer (IDE_TASK (result), error);
- IDE_RETURN (ret);
+ IDE_RETURN (IDE_PTR_ARRAY_STEAL_FULL (&ret));
}
static void
diff --git a/src/plugins/flatpak/gbp-flatpak-build-target-provider.c
b/src/plugins/flatpak/gbp-flatpak-build-target-provider.c
index 5dd6c496b..b45731e6b 100644
--- a/src/plugins/flatpak/gbp-flatpak-build-target-provider.c
+++ b/src/plugins/flatpak/gbp-flatpak-build-target-provider.c
@@ -78,11 +78,15 @@ gbp_flatpak_build_target_provider_get_targets_finish (IdeBuildTargetProvider *p
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_FLATPAK_BUILD_TARGET_PROVIDER (provider));
g_assert (IDE_IS_TASK (result));
g_assert (ide_task_is_valid (IDE_TASK (result), provider));
- 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
diff --git a/src/plugins/meson/gbp-meson-build-target-provider.c
b/src/plugins/meson/gbp-meson-build-target-provider.c
index 6e5bfbd89..2e0ae2e41 100644
--- a/src/plugins/meson/gbp-meson-build-target-provider.c
+++ b/src/plugins/meson/gbp-meson-build-target-provider.c
@@ -415,7 +415,7 @@ gbp_meson_build_target_provider_get_targets_finish (IdeBuildTargetProvider *pro
}
#endif
- IDE_RETURN (ret);
+ IDE_RETURN (IDE_PTR_ARRAY_STEAL_FULL (&ret));
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]