aboutsummaryrefslogtreecommitdiffstats
path: root/storage_xml.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-08-14 14:06:11 +0100
committerWilmer van der Gaast <wilmer@gaast.net>2010-08-14 14:06:11 +0100
commit4452e69ab1f01793a37205db8227a2de2f211d3e (patch)
tree56a9a4bf6b4c41531ddcd225f8415024638b38a3 /storage_xml.c
parentd93c0eb9f3f5d2d2cd78f02422d0c0ed25743e3a (diff)
Allow changing the display_name, now permanently!
Diffstat (limited to 'storage_xml.c')
-rw-r--r--storage_xml.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/storage_xml.c b/storage_xml.c
index 1d6757ae..5035e214 100644
--- a/storage_xml.c
+++ b/storage_xml.c
@@ -319,6 +319,16 @@ static void xml_text( GMarkupParseContext *ctx, const gchar *text_orig, gsize te
}
else if( g_strcasecmp( g_markup_parse_context_get_element( ctx ), "setting" ) == 0 && xd->current_setting )
{
+ if( xd->current_account )
+ {
+ set_t *s = set_find( xd->current_set_head, xd->current_setting );
+ if( s && ( s->flags & ACC_SET_ONLINE_ONLY ) )
+ {
+ g_free( xd->current_setting );
+ xd->current_setting = NULL;
+ return;
+ }
+ }
set_setstr( xd->current_set_head, xd->current_setting, (char*) text );
g_free( xd->current_setting );
xd->current_setting = NULL;