diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 4cb92350e5..09fecd9196 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -47,8 +47,10 @@ #include "gtkmain.h" #include "gtksettingsprivate.h" #include "gtkstylecontextprivate.h" +#include "gtkstyleproviderprivate.h" #include "gtkprivate.h" #include "gtksnapshot.h" +#include "gtkwidgetprivate.h" #include "gdkpixbufutilsprivate.h" #include "gdk/gdktextureprivate.h" #include "gdk/gdkprofilerprivate.h" @@ -1317,7 +1319,9 @@ theme_changed_idle__mainthread_unlocked (gpointer user_data) if (display) { - gtk_style_context_reset_widgets (self->display); + GtkSettings *settings = gtk_settings_get_for_display (self->display); + gtk_style_provider_changed (GTK_STYLE_PROVIDER (settings)); + gtk_system_setting_changed (display, GTK_SYSTEM_SETTING_ICON_THEME); g_object_unref (display); } @@ -1353,7 +1357,6 @@ do_theme_change (GtkIconTheme *self) blow_themes (self); queue_theme_changed (self); - } static void