[gtk/fix-icontheme-invalidation: 5/9] icontheme: Call gtk_system_setting_changed
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/fix-icontheme-invalidation: 5/9] icontheme: Call gtk_system_setting_changed
- Date: Wed, 22 Apr 2020 23:33:27 +0000 (UTC)
commit a59cb5dfa6a1456d2e590d10880389b44fa3d275
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Apr 21 10:44:36 2020 -0400
icontheme: Call gtk_system_setting_changed
When the icon theme changes, we want to both initiate
a css SOURCE change (since css values may depend on the
icon theme), as well as calling gtk_system_setting_changed,
since widgets need to drop cached images, e.g. in GtkIconHelper.
gtk/gtkicontheme.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
---
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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]