[gtk/fix-icontheme-invalidation: 10/18] css: Compare icon theme serials
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/fix-icontheme-invalidation: 10/18] css: Compare icon theme serials
- Date: Wed, 22 Apr 2020 20:35:36 +0000 (UTC)
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]