summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/inkscape.cpp8
-rw-r--r--src/ui/interface.cpp10
2 files changed, 15 insertions, 3 deletions
diff --git a/src/inkscape.cpp b/src/inkscape.cpp
index d01b53e57..7d19554c9 100644
--- a/src/inkscape.cpp
+++ b/src/inkscape.cpp
@@ -520,8 +520,12 @@ Application::Application(const char* argv, bool use_gui) :
prefs->setString("/theme/gtkTheme", Glib::ustring(gtkThemeName));
}
- if (prefs->getString("/theme/iconTheme") != "") {
- g_object_set(settings, "gtk-icon-theme-name", prefs->getString("/theme/iconTheme").c_str(), NULL);
+ Glib::ustring themeiconname = prefs->getString("/theme/iconTheme");
+ if (themeiconname != "") {
+ if (themeiconname == "hicolor") {
+ themeiconname = "Adwaita";
+ }
+ g_object_set(settings, "gtk-icon-theme-name", themeiconname.c_str(), NULL);
}
else {
Glib::ustring defaulticontheme = prefs->getString("/theme/defaultIconTheme");
diff --git a/src/ui/interface.cpp b/src/ui/interface.cpp
index 38af1a173..f55179e0f 100644
--- a/src/ui/interface.cpp
+++ b/src/ui/interface.cpp
@@ -271,7 +271,15 @@ void sp_ui_reload()
prefs_dialog->hide();
}
int window_geometry = prefs->getInt("/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_NONE);
- g_object_set(gtk_settings_get_default(), "gtk-icon-theme-name", prefs->getString("/theme/iconTheme").c_str(), NULL);
+ if (GtkSettings *settings = gtk_settings_get_default()) {
+ Glib::ustring themeiconname = prefs->getString("/theme/iconTheme");
+ if (themeiconname != "") {
+ if (themeiconname == "hicolor") {
+ themeiconname = "Adwaita";
+ }
+ g_object_set(settings, "gtk-icon-theme-name", themeiconname.c_str(), NULL);
+ }
+ }
prefs->setInt("/options/savewindowgeometry/value", PREFS_WINDOW_GEOMETRY_LAST);
prefs->save();
std::list<SPDesktop *> desktops;