[gnome-builder] code: fix ide_buffer_manager_foreach() iteration



commit ccf97ba5264aea876c136bef2aeb6dac0e3df369
Author: Christian Hergert <chergert redhat com>
Date:   Thu Feb 28 20:33:22 2019 -0800

    code: fix ide_buffer_manager_foreach() iteration
    
    This fixes the child check, which is really an IdeObjectBox containing
    the IdeBuffer to be called back.

 src/libide/code/ide-buffer-manager.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/src/libide/code/ide-buffer-manager.c b/src/libide/code/ide-buffer-manager.c
index 7a9c33206..4235cca5f 100644
--- a/src/libide/code/ide-buffer-manager.c
+++ b/src/libide/code/ide-buffer-manager.c
@@ -1283,8 +1283,15 @@ ide_buffer_manager_foreach_cb (IdeObject *object,
 
   g_assert (IDE_IS_OBJECT (object));
 
-  if (IDE_IS_BUFFER (object))
-    state->func (IDE_BUFFER (object), state->user_data);
+  if (IDE_IS_OBJECT_BOX (object))
+    {
+      g_autoptr(IdeObject) wrapped = NULL;
+
+      wrapped = ide_object_box_ref_object (IDE_OBJECT_BOX (object));
+
+      if (IDE_IS_BUFFER (wrapped))
+        state->func (IDE_BUFFER (wrapped), state->user_data);
+    }
 }
 
 /**


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