summaryrefslogtreecommitdiff
path: root/protocols/ICQ-WIM/src
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/ICQ-WIM/src')
-rw-r--r--protocols/ICQ-WIM/src/ignore.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/protocols/ICQ-WIM/src/ignore.cpp b/protocols/ICQ-WIM/src/ignore.cpp
index 53edac0c08..069d8c1844 100644
--- a/protocols/ICQ-WIM/src/ignore.cpp
+++ b/protocols/ICQ-WIM/src/ignore.cpp
@@ -46,11 +46,15 @@ void CIcqProto::ProcessPermissions(const JSONNode &ev)
m_bIgnoreListEmpty = true;
for (auto &it : ev["ignores"]) {
- auto *p = FindContactByUIN(it.as_mstring());
- if (p) {
- p->m_iApparentMode = ID_STATUS_OFFLINE;
- m_bIgnoreListEmpty = false;
+ CMStringW wszId(it.as_mstring());
+ auto *p = FindContactByUIN(wszId);
+ if (p == nullptr) {
+ auto hContact = CreateContact(wszId, false);
+ db_set_b(hContact, "CList", "Hidden", 1);
+ p = FindContactByUIN(wszId);
}
+ p->m_iApparentMode = ID_STATUS_OFFLINE;
+ m_bIgnoreListEmpty = false;
}
for (auto &it: m_arCache) {