diff options
-rw-r--r-- | gdk/gdkarrayimpl.c | 11 | ||||
-rw-r--r-- | gtk/gtkactionmuxer.c | 2 | ||||
-rw-r--r-- | gtk/gtkcssselector.c | 2 | ||||
-rw-r--r-- | gtk/gtkmultifilter.c | 2 | ||||
-rw-r--r-- | gtk/gtkmultisorter.c | 2 | ||||
-rw-r--r-- | gtk/gtksnapshot.c | 4 | ||||
-rw-r--r-- | gtk/gtkstringlist.c | 2 | ||||
-rw-r--r-- | testsuite/gdk/arrayimpl.c | 2 |
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++) |