[gnome-builder] debugger: make GPtrArray API transfer-full
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] debugger: make GPtrArray API transfer-full
- Date: Mon, 9 Apr 2018 22:48:22 +0000 (UTC)
commit 9b6d9e7b75ba5b018226487ed485a27082d2643c
Author: Christian Hergert <chergert redhat com>
Date: Mon Apr 9 15:47:55 2018 -0700
debugger: make GPtrArray API transfer-full
This makes things easier on language bindings, which could be useful if we
want to implement debuggers in python, for example.
src/libide/debugger/ide-debugger-locals-view.c | 3 ++
src/libide/debugger/ide-debugger-registers-view.c | 2 ++
src/libide/debugger/ide-debugger-threads-view.c | 2 ++
src/libide/debugger/ide-debugger.c | 12 ++++----
src/plugins/gdb/gbp-gdb-debugger.c | 36 +++++++++++++++++++----
5 files changed, 43 insertions(+), 12 deletions(-)
---
diff --git a/src/libide/debugger/ide-debugger-locals-view.c b/src/libide/debugger/ide-debugger-locals-view.c
index 8644d52e8..31e067859 100644
--- a/src/libide/debugger/ide-debugger-locals-view.c
+++ b/src/libide/debugger/ide-debugger-locals-view.c
@@ -24,6 +24,7 @@
#include <glib/gi18n.h>
#include "debugger/ide-debugger-locals-view.h"
+#include "util/ide-glib.h"
#include "threading/ide-task.h"
struct _IdeDebuggerLocalsView
@@ -296,6 +297,7 @@ ide_debugger_locals_view_load_locals_cb (GObject *object,
g_assert (IDE_IS_TASK (task));
locals = ide_debugger_list_locals_finish (debugger, result, &error);
+ IDE_PTR_ARRAY_SET_FREE_FUNC (locals, g_object_unref);
if (locals == NULL)
{
@@ -349,6 +351,7 @@ ide_debugger_locals_view_load_params_cb (GObject *object,
g_assert (IDE_IS_DEBUGGER_LOCALS_VIEW (self));
params = ide_debugger_list_params_finish (debugger, result, &error);
+ IDE_PTR_ARRAY_SET_FREE_FUNC (params, g_object_unref);
if (params == NULL)
{
diff --git a/src/libide/debugger/ide-debugger-registers-view.c
b/src/libide/debugger/ide-debugger-registers-view.c
index 84436c987..e9124f961 100644
--- a/src/libide/debugger/ide-debugger-registers-view.c
+++ b/src/libide/debugger/ide-debugger-registers-view.c
@@ -23,6 +23,7 @@
#include <dazzle.h>
#include "debugger/ide-debugger-registers-view.h"
+#include "util/ide-glib.h"
struct _IdeDebuggerRegistersView
{
@@ -102,6 +103,7 @@ ide_debugger_registers_view_list_registers_cb (GObject *object,
gtk_list_store_clear (self->list_store);
registers = ide_debugger_list_registers_finish (debugger, result, &error);
+ IDE_PTR_ARRAY_SET_FREE_FUNC (registers, g_object_unref);
if (error != NULL)
{
diff --git a/src/libide/debugger/ide-debugger-threads-view.c b/src/libide/debugger/ide-debugger-threads-view.c
index 6565d5f69..0fe305784 100644
--- a/src/libide/debugger/ide-debugger-threads-view.c
+++ b/src/libide/debugger/ide-debugger-threads-view.c
@@ -24,6 +24,7 @@
#include <glib/gi18n.h>
#include "debugger/ide-debugger-threads-view.h"
+#include "util/ide-glib.h"
struct _IdeDebuggerThreadsView
{
@@ -277,6 +278,7 @@ ide_debugger_threads_view_list_frames_cb (GObject *object,
g_assert (G_IS_ASYNC_RESULT (result));
frames = ide_debugger_list_frames_finish (debugger, result, &error);
+ IDE_PTR_ARRAY_SET_FREE_FUNC (frames, g_object_unref);
if (frames == NULL)
{
diff --git a/src/libide/debugger/ide-debugger.c b/src/libide/debugger/ide-debugger.c
index 2cf34f9dd..3ad03bbd5 100644
--- a/src/libide/debugger/ide-debugger.c
+++ b/src/libide/debugger/ide-debugger.c
@@ -1292,7 +1292,7 @@ ide_debugger_list_breakpoints_async (IdeDebugger *self,
*
* Gets the list of breakpoints from the debugger.
*
- * Returns: (transfer container) (element-type Ide.DebuggerBreakpoint): a #GPtrArray
+ * Returns: (transfer full) (element-type Ide.DebuggerBreakpoint): a #GPtrArray
* of breakpoints that are registered with the debugger.
*
* Since: 3.26
@@ -1581,7 +1581,7 @@ ide_debugger_list_frames_async (IdeDebugger *self,
*
*
*
- * Returns: (transfer container) (element-type Ide.DebuggerFrame) (nullable): An
+ * Returns: (transfer full) (element-type Ide.DebuggerFrame) (nullable): An
* array of debugger frames or %NULL and @error is set.
*/
GPtrArray *
@@ -1778,7 +1778,7 @@ ide_debugger_list_locals_async (IdeDebugger *self,
*
* Completes an asynchronous request to ide_debugger_list_locals_async().
*
- * Returns: (transfer container) (element-type Ide.DebuggerVariable): a #GPtrArray of
+ * Returns: (transfer full) (element-type Ide.DebuggerVariable): a #GPtrArray of
* #IdeDebuggerVariable if successful; otherwise %NULL and error is set.
*
* Since: 3.26
@@ -1837,7 +1837,7 @@ ide_debugger_list_params_async (IdeDebugger *self,
*
* Completes an asynchronous request to ide_debugger_list_params_async().
*
- * Returns: (transfer container) (element-type Ide.DebuggerVariable): a #GPtrArray of
+ * Returns: (transfer full) (element-type Ide.DebuggerVariable): a #GPtrArray of
* #IdeDebuggerVariable if successful; otherwise %NULL and error is set.
*
* Since: 3.26
@@ -1884,7 +1884,7 @@ ide_debugger_list_registers_async (IdeDebugger *self,
*
* Completes an asynchronous request to ide_debugger_list_registers_async().
*
- * Returns: (transfer container) (element-type Ide.DebuggerRegister): a #GPtrArray of
+ * Returns: (transfer full) (element-type Ide.DebuggerRegister): a #GPtrArray of
* #IdeDebuggerRegister if successful; otherwise %NULL and error is set.
*
* Since: 3.26
@@ -1934,7 +1934,7 @@ ide_debugger_disassemble_async (IdeDebugger *self,
*
* Completes an asynchronous request to ide_debugger_disassemble_async().
*
- * Returns: (transfer container) (element-type Ide.DebuggerInstruction): a #GPtrArray
+ * Returns: (transfer full) (element-type Ide.DebuggerInstruction): a #GPtrArray
* of #IdeDebuggerInstruction if successful; otherwise %NULL and error is set.
*
* Since: 3.26
diff --git a/src/plugins/gdb/gbp-gdb-debugger.c b/src/plugins/gdb/gbp-gdb-debugger.c
index 78abcf61e..7d61fe6ac 100644
--- a/src/plugins/gdb/gbp-gdb-debugger.c
+++ b/src/plugins/gdb/gbp-gdb-debugger.c
@@ -1138,10 +1138,14 @@ gbp_gdb_debugger_list_breakpoints_finish (IdeDebugger *debugger,
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_GDB_DEBUGGER (debugger));
g_assert (IDE_IS_TASK (result));
- 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
@@ -1634,10 +1638,14 @@ gbp_gdb_debugger_list_frames_finish (IdeDebugger *debugger,
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_GDB_DEBUGGER (debugger));
g_assert (IDE_IS_TASK (result));
- 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
@@ -1980,10 +1988,14 @@ gbp_gdb_debugger_list_locals_finish (IdeDebugger *debugger,
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_GDB_DEBUGGER (debugger));
g_assert (IDE_IS_TASK (result));
- 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
@@ -2105,10 +2117,14 @@ gbp_gdb_debugger_list_params_finish (IdeDebugger *debugger,
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_GDB_DEBUGGER (debugger));
g_assert (IDE_IS_TASK (result));
- 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
@@ -2212,10 +2228,14 @@ gbp_gdb_debugger_list_registers_finish (IdeDebugger *debugger,
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_GDB_DEBUGGER (debugger));
g_assert (IDE_IS_TASK (result));
- 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
@@ -2328,10 +2348,14 @@ gbp_gdb_debugger_disassemble_finish (IdeDebugger *debugger,
GAsyncResult *result,
GError **error)
{
+ GPtrArray *ret;
+
g_assert (GBP_IS_GDB_DEBUGGER (debugger));
g_assert (IDE_IS_TASK (result));
- 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 gboolean
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]