aboutsummaryrefslogtreecommitdiffstats
path: root/storage_xml.c
diff options
context:
space:
mode:
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;