aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/service.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/service.cpp b/src/service.cpp
index ff29b4e..6a18da0 100644
--- a/src/service.cpp
+++ b/src/service.cpp
@@ -137,8 +137,17 @@ public:
if (pSchema != NULL)
{
+ gboolean bColorScheme = g_settings_schema_has_key (pSchema, "color-scheme");
g_settings_schema_unref (pSchema);
- pColorSchemeSettings = g_settings_new (sSchema);
+
+ if (bColorScheme)
+ {
+ pColorSchemeSettings = g_settings_new (sSchema);
+ }
+ else
+ {
+ g_warning ("org.gnome.desktop.interface::color-scheme not found. Native theme profile changes will not be triggered.");
+ }
}
else
{
@@ -321,7 +330,7 @@ private:
gboolean bSameColorScheme = g_str_equal (sColorScheme, pImpl->sLastColorScheme);
- if (!bSameColorScheme)
+ if (pImpl->pColorSchemeSettings && !bSameColorScheme)
{
g_debug ("Changing color scheme to %s", sColorScheme);