diff options
author | Arthur Mello <arthur.mello@canonical.com> | 2016-06-24 11:45:30 -0300 |
---|---|---|
committer | Robert Tari <robert@tari.in> | 2021-07-08 00:48:29 +0200 |
commit | 2203d0b2031b7dc99fe7381a9efac431bc3ad410 (patch) | |
tree | 41e8c60daa4af938646e2e2c399bb00b74f41011 /src | |
parent | c0f53270674c6dbfe2eadf38e999c2536c4af4e3 (diff) | |
download | ayatana-indicator-datetime-2203d0b2031b7dc99fe7381a9efac431bc3ad410.tar.gz ayatana-indicator-datetime-2203d0b2031b7dc99fe7381a9efac431bc3ad410.tar.bz2 ayatana-indicator-datetime-2203d0b2031b7dc99fe7381a9efac431bc3ad410.zip |
Do not fail tests if schema is not installed
Diffstat (limited to 'src')
-rw-r--r-- | src/settings-live.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/settings-live.cpp b/src/settings-live.cpp index 39d8e18..17c0ef7 100644 --- a/src/settings-live.cpp +++ b/src/settings-live.cpp @@ -38,14 +38,20 @@ LiveSettings::~LiveSettings() g_clear_object(&m_settings); } -LiveSettings::LiveSettings(): m_settings(g_settings_new(SETTINGS_INTERFACE)) +LiveSettings::LiveSettings(): m_settings(g_settings_new(SETTINGS_INTERFACE)), m_gsettings_cal_notification(NULL) { g_signal_connect (m_settings, "changed", G_CALLBACK(on_changed_ccid), this); if (ayatana_common_utils_is_lomiri()) { - m_settings_cal_notification = g_settings_new_with_path(SETTINGS_NOTIFY_SCHEMA_ID, SETTINGS_NOTIFY_CALENDAR_PATH); - g_signal_connect (m_settings_cal_notification, "changed", G_CALLBACK(on_changed_cal_notification), this); + GSettingsSchemaSource *source = g_settings_schema_source_get_default(); + if (g_settings_schema_source_lookup(source, SETTINGS_NOTIFY_SCHEMA_ID, true)) { + m_gsettings_cal_notification = g_settings_new_with_path(SETTINGS_NOTIFY_SCHEMA_ID, SETTINGS_NOTIFY_CALENDAR_PATH); + } + + if (m_gsettings_cal_notification) { + g_signal_connect (m_settings_cal_notification, "changed", G_CALLBACK(on_changed_cal_notification), this); + } } // init the Properties from the GSettings backend |