diff options
author | Benjamin Otte <otte@redhat.com> | 2023-04-10 23:17:41 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2023-04-11 15:59:43 +0200 |
commit | c93eaa49b5a2581d2b08a24b1876f3d2cc99e61e (patch) | |
tree | 00066c3e2d8284d16b248c70f67fa0e117afb634 | |
parent | c25d0bbac33856cf73891871abb40a49424ac77c (diff) | |
download | gtk+-c93eaa49b5a2581d2b08a24b1876f3d2cc99e61e.tar.gz |
listitembase: exit early
When update() is called but no values are changed, exit early.
-rw-r--r-- | gtk/gtklistitembase.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gtk/gtklistitembase.c b/gtk/gtklistitembase.c index 67bbf95912..cdd8fe9703 100644 --- a/gtk/gtklistitembase.c +++ b/gtk/gtklistitembase.c @@ -81,6 +81,11 @@ gtk_list_item_base_update (GtkListItemBase *self, GtkListItemBasePrivate *priv = gtk_list_item_base_get_instance_private (self); gboolean was_selected; + if (priv->position == position && + priv->item == item && + priv->selected == selected) + return; + was_selected = priv->selected; GTK_LIST_ITEM_BASE_GET_CLASS (self)->update (self, position, item, selected); |