summaryrefslogtreecommitdiff
path: root/protocols/Facebook/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-07-21 16:17:48 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-07-21 16:17:48 +0300
commit5fd260b7c4c98bfa2d17a301d832a859c2af1f92 (patch)
tree648dfe9336191c8fafdf7772f376f8e60337388a /protocols/Facebook/src
parent17b6a94812b2dbf4af29fb5d84064ceb1c7d393e (diff)
fixes #4555 (Задваиваются контакты протоколов, где есть кэш)
Diffstat (limited to 'protocols/Facebook/src')
-rw-r--r--protocols/Facebook/src/proto.cpp18
-rw-r--r--protocols/Facebook/src/proto.h7
2 files changed, 15 insertions, 10 deletions
diff --git a/protocols/Facebook/src/proto.cpp b/protocols/Facebook/src/proto.cpp
index ef8fdbbaa3..68b408d64b 100644
--- a/protocols/Facebook/src/proto.cpp
+++ b/protocols/Facebook/src/proto.cpp
@@ -118,6 +118,17 @@ FacebookProto::~FacebookProto()
/////////////////////////////////////////////////////////////////////////////////////////
// protocol events
+void FacebookProto::OnCacheInit()
+{
+ for (auto &cc : AccContacts()) {
+ m_bCacheInited = true;
+
+ CMStringA szId(getMStringA(cc, DBKEY_ID));
+ if (!szId.IsEmpty())
+ m_users.insert(new FacebookUser(_atoi64(szId), cc, isChatRoom(cc)));
+ }
+}
+
void FacebookProto::OnContactAdded(MCONTACT hContact)
{
__int64 userId = _atoi64(getMStringA(hContact, DBKEY_ID));
@@ -137,13 +148,6 @@ void FacebookProto::OnModulesLoaded()
wszPath.Format(L"%s\\%S\\Stickers\\*.webp", wszCache.get(), m_szModuleName);
SmileyAdd_LoadContactSmileys(SMADD_FOLDER, m_szModuleName, wszPath);
- // contacts cache
- for (auto &cc : AccContacts()) {
- CMStringA szId(getMStringA(cc, DBKEY_ID));
- if (!szId.IsEmpty())
- m_users.insert(new FacebookUser(_atoi64(szId), cc, isChatRoom(cc)));
- }
-
// Default group
Clist_GroupCreate(0, m_wszDefaultGroup);
}
diff --git a/protocols/Facebook/src/proto.h b/protocols/Facebook/src/proto.h
index fe11debae7..d82cc80335 100644
--- a/protocols/Facebook/src/proto.h
+++ b/protocols/Facebook/src/proto.h
@@ -522,9 +522,10 @@ public:
////////////////////////////////////////////////////////////////////////////////////////
// PROTO_INTERFACE
- void OnContactAdded(MCONTACT) override;
- void OnModulesLoaded() override;
- void OnShutdown() override;
+ void OnCacheInit() override;
+ void OnContactAdded(MCONTACT) override;
+ void OnModulesLoaded() override;
+ void OnShutdown() override;
MCONTACT AddToList(int flags, PROTOSEARCHRESULT *psr) override;
INT_PTR GetCaps(int type, MCONTACT hContact) override;