diff options
Diffstat (limited to 'protocols/ICQ-WIM/src/utils.cpp')
-rw-r--r-- | protocols/ICQ-WIM/src/utils.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/protocols/ICQ-WIM/src/utils.cpp b/protocols/ICQ-WIM/src/utils.cpp index fc3eaf0ecb..4bd51e050c 100644 --- a/protocols/ICQ-WIM/src/utils.cpp +++ b/protocols/ICQ-WIM/src/utils.cpp @@ -117,16 +117,16 @@ void CIcqProto::CalcHash(AsyncHttpRequest *pReq) ///////////////////////////////////////////////////////////////////////////////////////// -void CIcqProto::Json2int(MCONTACT hContact, const JSONNode &node, const char *szJson, const char *szSetting) +void CIcqProto::Json2int(MCONTACT hContact, const JSONNode &node, const char *szJson, const char *szSetting, bool bIsPartial) { const JSONNode &var = node[szJson]; if (var) setDword(hContact, szSetting, var.as_int()); - else + else if (!bIsPartial) delSetting(hContact, szSetting); } -void CIcqProto::Json2string(MCONTACT hContact, const JSONNode &node, const char *szJson, const char *szSetting) +void CIcqProto::Json2string(MCONTACT hContact, const JSONNode &node, const char *szJson, const char *szSetting, bool bIsPartial) { const JSONNode &var = node[szJson]; if (var) { @@ -137,7 +137,8 @@ void CIcqProto::Json2string(MCONTACT hContact, const JSONNode &node, const char } else setWString(hContact, szSetting, wszStr); } - else delSetting(hContact, szSetting); + else if (!bIsPartial) + delSetting(hContact, szSetting); } ///////////////////////////////////////////////////////////////////////////////////////// |