From dd3a8cd122ca7fc3bf80a2bf394dae8b2f36934e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 12 Dec 2005 17:39:50 +0000 Subject: [PATCH] Only broadcast _GTK_LOAD_ICONTHEMES if we detect a real theme change, not 2005-12-12 Matthias Clasen * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast _GTK_LOAD_ICONTHEMES if we detect a real theme change, not upon initial theme load. (#323876, Peter Lund) --- ChangeLog | 4 ++++ ChangeLog.pre-2-10 | 4 ++++ gtk/gtkicontheme.c | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d4ff58b99a..e2c3e5bb69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2005-12-12 Matthias Clasen + * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast + _GTK_LOAD_ICONTHEMES if we detect a real theme change, not + upon initial theme load. (#323876, Peter Lund) + * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register the size-changed signal correctly. (#323848, Murray Cumming) diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index d4ff58b99a..e2c3e5bb69 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,5 +1,9 @@ 2005-12-12 Matthias Clasen + * gtk/gtkicontheme.c (ensure_valid_themes): Only broadcast + _GTK_LOAD_ICONTHEMES if we detect a real theme change, not + upon initial theme load. (#323876, Peter Lund) + * gtk/gtkstatusicon.c (gtk_status_icon_class_init): Register the size-changed signal correctly. (#323848, Murray Cumming) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2e9ef1f3e0..885df5381a 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -1158,6 +1158,7 @@ ensure_valid_themes (GtkIconTheme *icon_theme) { GtkIconThemePrivate *priv = icon_theme->priv; GTimeVal tv; + gboolean was_valid = priv->themes_valid; _gtk_icon_theme_ensure_builtin_cache (); @@ -1173,7 +1174,7 @@ ensure_valid_themes (GtkIconTheme *icon_theme) { load_themes (icon_theme); - if (!priv->check_reload && priv->screen) + if (!priv->check_reload && was_valid && priv->screen) { static GdkAtom atom_iconthemes = GDK_NONE; GdkEvent *event = gdk_event_new (GDK_CLIENT_EVENT);