listitembase: exit early
authorBenjamin Otte <otte@redhat.com>
Mon, 10 Apr 2023 21:17:41 +0000 (23:17 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 9 May 2023 15:00:40 +0000 (17:00 +0200)
When update() is called but no values are changed, exit early.

gtk/gtklistitembase.c

index 67bbf959120b51844409f53b9b7c8d6a068e682d..cdd8fe9703dcf948c9cc1006b4d6cff650834952 100644 (file)
@@ -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);