diff options
author | Ted Gould <ted@gould.cx> | 2011-10-12 15:31:18 -0500 |
---|---|---|
committer | Ted Gould <ted@gould.cx> | 2011-10-12 15:31:18 -0500 |
commit | abfab87c6dd0aa5e63b48a35a6bc7aada741f7d5 (patch) | |
tree | 7983c6147925b051efd6fe1dea662dd7691e8f06 | |
parent | d4ffde867d1b3561990399eef3cc40569ebb94c4 (diff) | |
parent | 2e2cf84cd5e3c6791c5684032e014fc74da09424 (diff) | |
download | ayatana-indicator-session-abfab87c6dd0aa5e63b48a35a6bc7aada741f7d5.tar.gz ayatana-indicator-session-abfab87c6dd0aa5e63b48a35a6bc7aada741f7d5.tar.bz2 ayatana-indicator-session-abfab87c6dd0aa5e63b48a35a6bc7aada741f7d5.zip |
Check to ensure we have settings, else default values.
-rw-r--r-- | src/settings-helper.c | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/settings-helper.c b/src/settings-helper.c index d70df95..007f83f 100644 --- a/src/settings-helper.c +++ b/src/settings-helper.c @@ -38,41 +38,49 @@ static guint logout_notify = 0; static guint restart_notify = 0; static guint shutdown_notify = 0; -static void +static gboolean build_settings (void) { - if(!settings) { + if (settings == NULL) { settings = g_settings_new (SESSION_SCHEMA); } - return; + if (settings == NULL) { + return FALSE; + } + return TRUE; } gboolean supress_confirmations (void) { - build_settings(); + gboolean settings_built = build_settings(); + g_return_val_if_fail(settings_built, FALSE); return g_settings_get_boolean (settings, SUPPRESS_KEY) ; } gboolean should_show_user_menu (void) { - build_settings(); + gboolean settings_built = build_settings(); + g_return_val_if_fail(settings_built, TRUE); return g_settings_get_boolean (settings, SHOW_USER_MENU) ; } gboolean show_logout (void) { - build_settings(); + gboolean settings_built = build_settings(); + g_return_val_if_fail(settings_built, TRUE); return !g_settings_get_boolean (settings, LOGOUT_KEY) ; } gboolean show_restart (void) { - build_settings(); + gboolean settings_built = build_settings(); + g_return_val_if_fail(settings_built, TRUE); return !g_settings_get_boolean (settings, RESTART_KEY) ; } gboolean show_shutdown (void) { - build_settings(); + gboolean settings_built = build_settings(); + g_return_val_if_fail(settings_built, TRUE); return !g_settings_get_boolean (settings, SHUTDOWN_KEY) ; } @@ -122,7 +130,8 @@ update_shutdown_callback (GSettings * settings, const gchar * key, gpointer data void update_menu_entries(RestartShutdownLogoutMenuItems * restart_shutdown_logout_mi) { /* If we don't have a client, build one. */ - build_settings(); + gboolean settings_built = build_settings(); + g_return_if_fail(settings_built); if (confirmation_notify != 0) { g_signal_handler_disconnect (settings, confirmation_notify); |