summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/inkscape-preferences.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/dialog/inkscape-preferences.cpp')
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index f3bba55c3..6151eeef0 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -630,7 +630,9 @@ void InkscapePreferences::symbolicThemeCheck()
void InkscapePreferences::symbolicDefaultColor(){
auto const screen = Gdk::Screen::get_default();
- Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider);
+ if (INKSCAPE.colorizeprovider) {
+ Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider);
+ }
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool("/theme/symbolicIconsDefaultColor", true);
}
@@ -638,7 +640,9 @@ void InkscapePreferences::symbolicDefaultColor(){
void InkscapePreferences::symbolicStyling()
{
auto const screen = Gdk::Screen::get_default();
- Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider);
+ if (INKSCAPE.colorizeprovider) {
+ Gtk::StyleContext::remove_provider_for_screen(screen, INKSCAPE.colorizeprovider);
+ }
using namespace Inkscape::IO::Resource;
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool("/theme/symbolicIconsDefaultColor", false);
@@ -695,7 +699,8 @@ void InkscapePreferences::symbolicStyling()
} catch (const Gtk::CssProviderError &ex) {
g_critical("CSSProviderError::load_from_data(): failed to load '%s'\n(%s)", css_str.c_str(), ex.what().c_str());
}
- Gtk::StyleContext::add_provider_for_screen(screen, INKSCAPE.colorizeprovider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+ Gtk::StyleContext::add_provider_for_screen(screen, INKSCAPE.colorizeprovider,
+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
}
void InkscapePreferences::themeChange()