[gtk/fix-icontheme-invalidation: 10/18] css: Compare icon theme serials



commit 7b4b15f5775380c850fe002dead9615b13fae556
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Apr 22 13:49:18 2020 -0400

    css: Compare icon theme serials
    
    When comparing to icon theme image values for equality,
    take the serial of the icon theme at compute time into
    account.

 gtk/gtkcssimageicontheme.c        | 3 ++-
 gtk/gtkcssimageiconthemeprivate.h | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcssimageicontheme.c b/gtk/gtkcssimageicontheme.c
index 08fd70a61f..fd9e2fe0a8 100644
--- a/gtk/gtkcssimageicontheme.c
+++ b/gtk/gtkcssimageicontheme.c
@@ -166,7 +166,8 @@ gtk_css_image_icon_theme_equal (GtkCssImage *image1,
   GtkCssImageIconTheme *icon_theme1 = (GtkCssImageIconTheme *) image1;
   GtkCssImageIconTheme *icon_theme2 = (GtkCssImageIconTheme *) image2;
 
-  return g_str_equal (icon_theme1->name, icon_theme2->name);
+  return icon_theme1->serial == icon_theme2->serial &&
+         g_str_equal (icon_theme1->name, icon_theme2->name);
 }
 
 static void
diff --git a/gtk/gtkcssimageiconthemeprivate.h b/gtk/gtkcssimageiconthemeprivate.h
index 02fd2046fd..5b1540d413 100644
--- a/gtk/gtkcssimageiconthemeprivate.h
+++ b/gtk/gtkcssimageiconthemeprivate.h
@@ -44,7 +44,8 @@ struct _GtkCssImageIconTheme
   GdkRGBA success;
   GdkRGBA warning;
   GdkRGBA error;
-  gint scale;
+  int serial;
+  int scale;
   char *name;
 
   int cached_size;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]