diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/inkscape.cpp | 8 | ||||
| -rw-r--r-- | src/ui/interface.cpp | 10 |
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; |
