diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-03-12 08:23:16 +0100 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-03-12 08:25:58 +0100 |
commit | 352b8cb70eefa60203d62eb69053d70b73d41042 (patch) | |
tree | 9be5f6383f51e782ffe9e20796a09250d245f02f | |
parent | dc50c790c57cf7a77f91d08b8b3723ef1ba6837d (diff) | |
download | gtk+-352b8cb70eefa60203d62eb69053d70b73d41042.tar.gz |
columnview: Be more defensive
I am not sure how we can have no listitem here,
but better to be safe than sorry.
Fixes: #5659
-rw-r--r-- | gtk/gtkcolumnlistitemfactory.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/gtk/gtkcolumnlistitemfactory.c b/gtk/gtkcolumnlistitemfactory.c index 8ddffc252c..94a1695caa 100644 --- a/gtk/gtkcolumnlistitemfactory.c +++ b/gtk/gtkcolumnlistitemfactory.c @@ -112,13 +112,19 @@ gtk_column_list_item_factory_update (GtkListItemFactory *factory, child; child = gtk_widget_get_next_sibling (child)) { + GtkListItem *cell_item; + gtk_list_item_widget_update (GTK_LIST_ITEM_WIDGET (child), gtk_list_item_get_position (list_item), gtk_list_item_get_item (list_item), gtk_list_item_get_selected (list_item)); - selectable &= gtk_list_item_get_selectable (gtk_list_item_widget_get_list_item (GTK_LIST_ITEM_WIDGET (child))); - activatable &= gtk_list_item_get_activatable (gtk_list_item_widget_get_list_item (GTK_LIST_ITEM_WIDGET (child))); + cell_item = gtk_list_item_widget_get_list_item (GTK_LIST_ITEM_WIDGET (child)); + if (cell_item) + { + selectable &= gtk_list_item_get_selectable (cell_item); + activatable &= gtk_list_item_get_activatable (cell_item); + } } /* This really does not belong here, but doing better |