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 /mail/mail-composer-prefs.c | |
parent | b3029f0665371922680519b561e03b54014dc146 (diff) | |
download | gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar.gz gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar.bz2 gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar.lz gsoc2013-evolution-3f4937a50cdd2cc87f2103b1b5e47525af4028e6.tar.xz 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
Diffstat (limited to 'mail/mail-composer-prefs.c')
-rw-r--r-- | mail/mail-composer-prefs.c | 16 |
1 files changed, 12 insertions, 4 deletions
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); |