diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-09-26 04:16:14 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-09-26 04:16:14 +0800 |
commit | 70a6a65a5607ab0003c25bd64a4338baa47d1dd5 (patch) | |
tree | 83b463e1ddcc692335e5d82b082ace39de3b386c /mail/mail-config.c | |
parent | 9c2f01c606823e1f6a0d77bbd0590ef8079f05d5 (diff) | |
download | gsoc2013-evolution-70a6a65a5607ab0003c25bd64a4338baa47d1dd5.tar.gz gsoc2013-evolution-70a6a65a5607ab0003c25bd64a4338baa47d1dd5.tar.zst gsoc2013-evolution-70a6a65a5607ab0003c25bd64a4338baa47d1dd5.zip |
Throw up a warning dialog if we suspect the config database is corrupt.
2001-09-25 Jeffrey Stedfast <fejj@ximian.com>
* component-factory.c (owner_set_cb): Throw up a warning dialog if
we suspect the config database is corrupt.
* mail-config.c (config_read): If the account name is NULL, then
we have a corrupt config database most likely - so generate a fake
account name and set the corrupt but to TRUE.
(mail_config_is_corrupt): New function to find out if the config
is suspected of being corrupted.
svn path=/trunk/; revision=13116
Diffstat (limited to 'mail/mail-config.c')
-rw-r--r-- | mail/mail-config.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/mail/mail-config.c b/mail/mail-config.c index 115e1d0d28..0eef9edf16 100644 --- a/mail/mail-config.c +++ b/mail/mail-config.c @@ -58,6 +58,8 @@ typedef struct { Bonobo_ConfigDatabase db; + gboolean corrupt; + gboolean show_preview; gboolean thread_list; gboolean hide_deleted; @@ -284,7 +286,7 @@ mail_config_clear (void) static void config_read (void) { - gint len, i, default_num; + int len, i, default_num; mail_config_clear (); @@ -296,12 +298,19 @@ config_read (void) MailConfigIdentity *id; MailConfigService *source; MailConfigService *transport; - gchar *path, *val; + char *path, *val; account = g_new0 (MailConfigAccount, 1); path = g_strdup_printf ("/Mail/Accounts/account_name_%d", i); - account->name = bonobo_config_get_string (config->db, path, NULL); + val = bonobo_config_get_string (config->db, path, NULL); g_free (path); + if (val && *val) { + account->name = val; + } else { + g_free (val); + account->name = g_strdup_printf (_("Account %d"), i + 1); + config->corrupt = TRUE; + } path = g_strdup_printf ("/Mail/Accounts/account_drafts_folder_name_%d", i); val = bonobo_config_get_string (config->db, path, NULL); @@ -593,7 +602,7 @@ void mail_config_write (void) { CORBA_Environment ev; - gint len, i, default_num; + int len, i, default_num; /* Accounts */ @@ -617,7 +626,7 @@ mail_config_write (void) for (i = 0; i < len; i++) { MailConfigAccount *account; - gchar *path; + char *path; account = g_slist_nth_data (config->accounts, i); @@ -903,6 +912,12 @@ mail_config_is_configured (void) return config->accounts != NULL; } +gboolean +mail_config_is_corrupt (void) +{ + return config->corrupt; +} + static char * uri_to_key (const char *uri) { |