summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-03-12 08:23:16 +0100
committerMatthias Clasen <mclasen@redhat.com>2023-03-12 08:25:58 +0100
commit352b8cb70eefa60203d62eb69053d70b73d41042 (patch)
tree9be5f6383f51e782ffe9e20796a09250d245f02f
parentdc50c790c57cf7a77f91d08b8b3723ef1ba6837d (diff)
downloadgtk+-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.c10
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