[gtk/wip/baedert/for-master: 4/5] gtkarray: Create GPtrArray in insert() if we have to



commit 05fbdc4ed35f297800e4c80d1a42514855cf8fe4
Author: Timm Bäder <mail baedert org>
Date:   Wed May 6 10:24:15 2020 +0200

    gtkarray: Create GPtrArray in insert() if we have to

 gtk/gtkarrayimplprivate.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
---
diff --git a/gtk/gtkarrayimplprivate.h b/gtk/gtkarrayimplprivate.h
index c1355205fd..8a669f2a40 100644
--- a/gtk/gtkarrayimplprivate.h
+++ b/gtk/gtkarrayimplprivate.h
@@ -88,6 +88,16 @@ gtk_array_insert (GtkArray *self,
       return;
     }
 
+  if (G_UNLIKELY (!self->ptr_array))
+    {
+      guint i;
+
+      self->ptr_array = g_ptr_array_new_full (self->reserved_size, NULL);
+
+      for (i = 0; i < self->len; i++)
+        g_ptr_array_add (self->ptr_array, self->stack_space[i]);
+    }
+
   g_assert (self->ptr_array);
   g_ptr_array_insert (self->ptr_array, index, element);
   self->len++;


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