summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdk/gdkarrayimpl.c11
-rw-r--r--gtk/gtkactionmuxer.c2
-rw-r--r--gtk/gtkcssselector.c2
-rw-r--r--gtk/gtkmultifilter.c2
-rw-r--r--gtk/gtkmultisorter.c2
-rw-r--r--gtk/gtksnapshot.c4
-rw-r--r--gtk/gtkstringlist.c2
-rw-r--r--testsuite/gdk/arrayimpl.c2
8 files changed, 15 insertions, 12 deletions
diff --git a/gdk/gdkarrayimpl.c b/gdk/gdkarrayimpl.c
index 003c67fd59..a18ab5e33d 100644
--- a/gdk/gdkarrayimpl.c
+++ b/gdk/gdkarrayimpl.c
@@ -182,6 +182,7 @@ G_GNUC_UNUSED static inline void
gdk_array(splice) (GdkArray *self,
gsize pos,
gsize removed,
+ gboolean stolen,
_T_ *additions,
gsize added)
{
@@ -192,8 +193,9 @@ gdk_array(splice) (GdkArray *self,
g_assert (pos + removed <= size);
remaining = size - pos - removed;
- gdk_array(free_elements) (gdk_array(index) (self, pos),
- gdk_array(index) (self, pos + removed));
+ if (!stolen)
+ gdk_array(free_elements) (gdk_array(index) (self, pos),
+ gdk_array(index) (self, pos + removed));
gdk_array(reserve) (self, size - removed + added);
@@ -225,9 +227,9 @@ gdk_array(set_size) (GdkArray *self,
{
gsize old_size = gdk_array(get_size) (self);
if (new_size > old_size)
- gdk_array(splice) (self, old_size, 0, NULL, new_size - old_size);
+ gdk_array(splice) (self, old_size, 0, FALSE, NULL, new_size - old_size);
else
- gdk_array(splice) (self, new_size, old_size - new_size, NULL, 0);
+ gdk_array(splice) (self, new_size, old_size - new_size, FALSE, NULL, 0);
}
G_GNUC_UNUSED static void
@@ -241,6 +243,7 @@ gdk_array(append) (GdkArray *self,
gdk_array(splice) (self,
gdk_array(get_size) (self),
0,
+ FALSE,
#ifdef GDK_ARRAY_BY_VALUE
value,
#else
diff --git a/gtk/gtkactionmuxer.c b/gtk/gtkactionmuxer.c
index fad926ceaf..fb3c4fb5a3 100644
--- a/gtk/gtkactionmuxer.c
+++ b/gtk/gtkactionmuxer.c
@@ -100,7 +100,7 @@ gtk_accels_remove (GtkAccels *accels,
position = gtk_accels_find (accels, action_and_target);
if (position < gtk_accels_get_size (accels))
- gtk_accels_splice (accels, position, 1, NULL, 0);
+ gtk_accels_splice (accels, position, 1, FALSE, NULL, 0);
}
/*< private >
diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c
index b8ef92a9ae..f04a6fe7c5 100644
--- a/gtk/gtkcssselector.c
+++ b/gtk/gtkcssselector.c
@@ -167,7 +167,7 @@ gtk_css_selector_matches_insert_sorted (GtkCssSelectorMatches *matches,
break;
}
- gtk_css_selector_matches_splice (matches, i, 0, (gpointer[1]) { data }, 1);
+ gtk_css_selector_matches_splice (matches, i, 0, FALSE, (gpointer[1]) { data }, 1);
}
static inline gboolean
diff --git a/gtk/gtkmultifilter.c b/gtk/gtkmultifilter.c
index 8211295fb2..3550d90c58 100644
--- a/gtk/gtkmultifilter.c
+++ b/gtk/gtkmultifilter.c
@@ -206,7 +206,7 @@ gtk_multi_filter_remove (GtkMultiFilter *self,
filter = gtk_filters_get (&self->filters, position);
g_signal_handlers_disconnect_by_func (filter, gtk_multi_filter_changed_cb, self);
- gtk_filters_splice (&self->filters, position, 1, NULL, 0);
+ gtk_filters_splice (&self->filters, position, 1, FALSE, NULL, 0);
gtk_filter_changed (GTK_FILTER (self),
GTK_MULTI_FILTER_GET_CLASS (self)->removal_change);
diff --git a/gtk/gtkmultisorter.c b/gtk/gtkmultisorter.c
index 5690d6d1d0..a733f5a275 100644
--- a/gtk/gtkmultisorter.c
+++ b/gtk/gtkmultisorter.c
@@ -432,7 +432,7 @@ gtk_multi_sorter_remove (GtkMultiSorter *self,
sorter = gtk_sorters_get (&self->sorters, position);
g_signal_handlers_disconnect_by_func (sorter, gtk_multi_sorter_changed_cb, self);
- gtk_sorters_splice (&self->sorters, position, 1, NULL, 0);
+ gtk_sorters_splice (&self->sorters, position, 1, FALSE, NULL, 0);
gtk_sorter_changed_with_keys (GTK_SORTER (self),
GTK_SORTER_CHANGE_LESS_STRICT,
diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c
index 7c5c744842..e01ce5ec68 100644
--- a/gtk/gtksnapshot.c
+++ b/gtk/gtksnapshot.c
@@ -1386,7 +1386,7 @@ gtk_snapshot_pop_one (GtkSnapshot *snapshot)
/* Remove all the state's nodes from the list of nodes */
g_assert (state->start_node_index + state->n_nodes == gtk_snapshot_nodes_get_size (&snapshot->nodes));
- gtk_snapshot_nodes_splice (&snapshot->nodes, state->start_node_index, state->n_nodes, NULL, 0);
+ gtk_snapshot_nodes_splice (&snapshot->nodes, state->start_node_index, state->n_nodes, FALSE, NULL, 0);
}
else
{
@@ -1400,7 +1400,7 @@ gtk_snapshot_pop_one (GtkSnapshot *snapshot)
g_assert (previous_state->start_node_index + previous_state->n_nodes == gtk_snapshot_nodes_get_size (&snapshot->nodes));
}
- gtk_snapshot_states_splice (&snapshot->state_stack, state_index, 1, NULL, 0);
+ gtk_snapshot_states_splice (&snapshot->state_stack, state_index, 1, FALSE, NULL, 0);
return node;
}
diff --git a/gtk/gtkstringlist.c b/gtk/gtkstringlist.c
index 64e2e56155..c271ed91c1 100644
--- a/gtk/gtkstringlist.c
+++ b/gtk/gtkstringlist.c
@@ -471,7 +471,7 @@ gtk_string_list_splice (GtkStringList *self,
else
n_additions = 0;
- objects_splice (&self->items, position, n_removals, NULL, n_additions);
+ objects_splice (&self->items, position, n_removals, FALSE, NULL, n_additions);
for (i = 0; i < n_additions; i++)
{
diff --git a/testsuite/gdk/arrayimpl.c b/testsuite/gdk/arrayimpl.c
index 286f64d678..77494fbf70 100644
--- a/testsuite/gdk/arrayimpl.c
+++ b/testsuite/gdk/arrayimpl.c
@@ -77,7 +77,7 @@ gdk_array(test_splice) (void)
for (j = 0; j < add; j++)
sum += ++additions[j];
- gdk_array(splice) (&v, pos, remove, additions, add);
+ gdk_array(splice) (&v, pos, remove, FALSE, additions, add);
{
gsize total = 0;
for (j = 0; j < gdk_array(get_size) (&v); j++)