summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSadrul Habib Chowdhury <sadrul@pidgin.im>2009-04-23 02:42:50 +0000
committerSadrul Habib Chowdhury <sadrul@pidgin.im>2009-04-23 02:42:50 +0000
commit0765f3c2db0914adec608a975dacdd4e9d5d01f6 (patch)
tree5092ec7e5d0e1bf03502dc86d6224ab73c4efc10
parenta4b59bfa8b53fd1b04ed2eba52adc29e4ec565e8 (diff)
downloadpidgin-0765f3c2db0914adec608a975dacdd4e9d5d01f6.tar.gz
Reload settings after updating icon theme.
This makes sure the icons in the infopane, userlist etc. in the conversation window update properly after a theme change.
-rw-r--r--pidgin/pidginstock.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/pidgin/pidginstock.c b/pidgin/pidginstock.c
index 78c3ec465d..9fddd9dff1 100644
--- a/pidgin/pidginstock.c
+++ b/pidgin/pidginstock.c
@@ -409,6 +409,16 @@ add_sized_icon(GtkIconSet *iconset, GtkIconSize sizeid, PidginIconTheme *theme,
}
}
+static void
+reload_settings(void)
+{
+#if GTK_CHECK_VERSION(2,4,0)
+ GtkSettings *setting = NULL;
+ setting = gtk_settings_get_default();
+ gtk_rc_reset_styles(setting);
+#endif
+}
+
/*****************************************************************************
* Public API functions
*****************************************************************************/
@@ -471,6 +481,7 @@ pidgin_stock_load_status_icon_theme(PidginStatusIconTheme *theme)
gtk_widget_destroy(win);
g_object_unref(G_OBJECT(icon_factory));
+ reload_settings();
}
void
@@ -553,6 +564,7 @@ pidgin_stock_load_stock_icon_theme(PidginStockIconTheme *theme)
gtk_widget_destroy(win);
g_object_unref(G_OBJECT(icon_factory));
+ reload_settings();
}
void