aboutsummaryrefslogtreecommitdiffstats
path: root/storage_xml.c
diff options
context:
space:
mode:
authorWilmer van der Gaast <wilmer@gaast.net>2010-10-02 19:45:26 -0700
committerWilmer van der Gaast <wilmer@gaast.net>2010-10-02 19:45:26 -0700
commit8e9e2b7d9e54744cee32b3724391bf0ad04e8aff (patch)
tree6cafdc57bb8143306daf8ef8288d09754f39b451 /storage_xml.c
parent88de0c96136313e553113f69cfc6ae544a5f5954 (diff)
parent2af3e232ff468b288dd4e0dbdab1a17312d801c5 (diff)
Merging mainline, which includes a huge msnp13 merge.
Not 100% sure about the OpenSSL merge, should double check that but I'm currently offline.
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;