diff options
-rw-r--r-- | protocols/ICQ-WIM/src/utils.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/protocols/ICQ-WIM/src/utils.cpp b/protocols/ICQ-WIM/src/utils.cpp index 197e3bc6e7..f1b20c59f0 100644 --- a/protocols/ICQ-WIM/src/utils.cpp +++ b/protocols/ICQ-WIM/src/utils.cpp @@ -132,10 +132,15 @@ void CIcqProto::Json2int(MCONTACT hContact, const JSONNode &node, const char *sz void CIcqProto::Json2string(MCONTACT hContact, const JSONNode &node, const char *szJson, const char *szSetting) { const JSONNode &var = node[szJson]; - if (var) - setWString(hContact, szSetting, var.as_mstring()); - else - delSetting(hContact, szSetting); + if (var) { + CMStringW wszStr(var.as_mstring()); + if (wszStr == L"[deleted]") { + setByte(hContact, "IcqDeleted", 1); + Contact_PutOnList(hContact); + } + else setWString(hContact, szSetting, wszStr); + } + else delSetting(hContact, szSetting); } ///////////////////////////////////////////////////////////////////////////////////////// |