[gnome-builder] langserv: make tree creation array transfer-full



commit 4fa1132687873c03279b7b63f82742ee6310f637
Author: Christian Hergert <chergert redhat com>
Date:   Mon Apr 9 16:06:28 2018 -0700

    langserv: make tree creation array transfer-full
    
    We don't currently use this from language bindings, but this helps us move
    to making everything homogeneous.

 src/libide/langserv/ide-langserv-symbol-resolver.c | 2 +-
 src/libide/langserv/ide-langserv-symbol-tree.c     | 5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/src/libide/langserv/ide-langserv-symbol-resolver.c 
b/src/libide/langserv/ide-langserv-symbol-resolver.c
index 0ad7ec351..548eda418 100644
--- a/src/libide/langserv/ide-langserv-symbol-resolver.c
+++ b/src/libide/langserv/ide-langserv-symbol-resolver.c
@@ -418,7 +418,7 @@ ide_langserv_symbol_resolver_document_symbol_cb (GObject      *object,
       g_ptr_array_add (symbols, g_steal_pointer (&symbol));
     }
 
-  tree = ide_langserv_symbol_tree_new (g_steal_pointer (&symbols));
+  tree = ide_langserv_symbol_tree_new (IDE_PTR_ARRAY_STEAL_FULL (&symbols));
 
   ide_task_return_pointer (task, g_steal_pointer (&tree), g_object_unref);
 
diff --git a/src/libide/langserv/ide-langserv-symbol-tree.c b/src/libide/langserv/ide-langserv-symbol-tree.c
index 4b3f3439c..82d5a8918 100644
--- a/src/libide/langserv/ide-langserv-symbol-tree.c
+++ b/src/libide/langserv/ide-langserv-symbol-tree.c
@@ -23,6 +23,7 @@
 #include "langserv/ide-langserv-symbol-node.h"
 #include "langserv/ide-langserv-symbol-node-private.h"
 #include "langserv/ide-langserv-symbol-tree.h"
+#include "util/ide-glib.h"
 
 typedef struct
 {
@@ -161,7 +162,7 @@ ide_langserv_symbol_tree_build (IdeLangservSymbolTree *self)
 
 /**
  * ide_langserv_symbol_tree_new:
- * @symbols: (transfer container) (element-type Ide.LangservSymbolNode): The symbols
+ * @symbols: (transfer full) (element-type Ide.LangservSymbolNode): The symbols
  *
  * Creates a new #IdeLangservSymbolTree but takes ownership of @ar.
  *
@@ -175,6 +176,8 @@ ide_langserv_symbol_tree_new (GPtrArray *symbols)
 
   g_return_val_if_fail (symbols != NULL, NULL);
 
+  IDE_PTR_ARRAY_SET_FREE_FUNC (symbols, g_object_unref);
+
   self = g_object_new (IDE_TYPE_LANGSERV_SYMBOL_TREE, NULL);
   priv = ide_langserv_symbol_tree_get_instance_private (self);
   priv->symbols = symbols;


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