diff options
author | Radek Doulik <rodo@ximian.com> | 2002-05-24 03:28:06 +0800 |
---|---|---|
committer | Radek Doulik <rodo@src.gnome.org> | 2002-05-24 03:28:06 +0800 |
commit | 3f4937a50cdd2cc87f2103b1b5e47525af4028e6 (patch) | |
tree | 529fa7a2ae8b374cc6b16d93c0c94b529603960c | |
parent | b3029f0665371922680519b561e03b54014dc146 (diff) | |
download | gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar.gz gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar.zst gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.zip |
be more careful about language_str{_orig}
2002-05-23 Radek Doulik <rodo@ximian.com>
* mail-composer-prefs.c: be more careful about language_str{_orig}
svn path=/trunk/; revision=16987
-rw-r--r-- | mail/ChangeLog | 4 | ||||
-rw-r--r-- | mail/mail-composer-prefs.c | 16 |
2 files changed, 16 insertions, 4 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 5e63ab9271..b50f207c4e 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,7 @@ +2002-05-23 Radek Doulik <rodo@ximian.com> + + * mail-composer-prefs.c: be more careful about language_str{_orig} + 2002-05-21 Jeffrey Stedfast <fejj@ximian.com> * mail-account-gui.c (sig_fill_options): Only clear the text/html diff --git a/mail/mail-composer-prefs.c b/mail/mail-composer-prefs.c index 15f87826c6..29f0802b42 100644 --- a/mail/mail-composer-prefs.c +++ b/mail/mail-composer-prefs.c @@ -566,7 +566,7 @@ spell_get_language_str (MailComposerPrefs *prefs) rv = str->str; g_string_free (str, FALSE); - return rv; + return rv ? rv : g_strdup (""); } static void @@ -589,7 +589,7 @@ static void spell_save_orig (MailComposerPrefs *prefs) { g_free (prefs->language_str_orig); - prefs->language_str_orig = g_strdup (prefs->language_str); + prefs->language_str_orig = g_strdup (prefs->language_str ? prefs->language_str : ""); prefs->spell_error_color_orig = prefs->spell_error_color; } @@ -605,9 +605,11 @@ static void spell_load_values (MailComposerPrefs *prefs) { GConfValue *val; + gchar *def_lang; + def_lang = g_strdup (_("en")); g_free (prefs->language_str); - prefs->language_str = g_strdup (_("en")); + prefs->language_str = g_strdup (def_lang); prefs->spell_error_color.red = 0xffff; prefs->spell_error_color.green = 0; prefs->spell_error_color.blue = 0; @@ -617,7 +619,12 @@ spell_load_values (MailComposerPrefs *prefs) GET (int, "/spell_error_color_blue", prefs->spell_error_color.blue,,); GET (string, "/language", prefs->language_str, g_free (prefs->language_str), g_strdup); + if (prefs->language_str == NULL) + prefs->language_str = g_strdup (def_lang); + spell_save_orig (prefs); + + g_free (def_lang); } #define SET(t,x,prop) \ @@ -633,8 +640,9 @@ spell_save_values (MailComposerPrefs *prefs, gboolean force) SET (int, "/spell_error_color_green", prefs->spell_error_color.green); SET (int, "/spell_error_color_blue", prefs->spell_error_color.blue); } + if (force || !STR_EQUAL (prefs->language_str, prefs->language_str_orig)) { - SET (string, "/language", prefs->language_str); + SET (string, "/language", prefs->language_str ? prefs->language_str : ""); } gconf_client_suggest_sync (prefs->gconf, NULL); |