summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2023-03-03 03:05:22 +0100
committerBenjamin Otte <otte.benjamin@googlemail.com>2023-03-05 15:23:20 +0000
commit882dcda53b51b10299896efe075d177e9df3458c (patch)
treea4cb1cbc50098a219debdb3abf463b151b9e1b1b
parentb488fae893ebba2a75f313dc6b9c1807e21225aa (diff)
downloadgtk+-882dcda53b51b10299896efe075d177e9df3458c.tar.gz
columnview: Clear the sorter first thing in dispose
Otherwise, when removing the columns, each column will trigger a sorter::changed signal emission. And because sorters are often still connected to a sortlistmodel, we can't skip that emission and need to do it. But we only need to do it once.
-rw-r--r--gtk/gtkcolumnview.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gtk/gtkcolumnview.c b/gtk/gtkcolumnview.c
index 95fb02d8eb..33fe678c8e 100644
--- a/gtk/gtkcolumnview.c
+++ b/gtk/gtkcolumnview.c
@@ -477,6 +477,8 @@ gtk_column_view_dispose (GObject *object)
{
GtkColumnView *self = GTK_COLUMN_VIEW (object);
+ gtk_column_view_sorter_clear (GTK_COLUMN_VIEW_SORTER (self->sorter));
+
while (g_list_model_get_n_items (G_LIST_MODEL (self->columns)) > 0)
{
GtkColumnViewColumn *column = g_list_model_get_item (G_LIST_MODEL (self->columns), 0);