diff options
author | George Hazan <george.hazan@gmail.com> | 2024-07-21 16:17:48 +0300 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2024-07-21 16:17:48 +0300 |
commit | 5fd260b7c4c98bfa2d17a301d832a859c2af1f92 (patch) | |
tree | 648dfe9336191c8fafdf7772f376f8e60337388a /protocols/Facebook/src | |
parent | 17b6a94812b2dbf4af29fb5d84064ceb1c7d393e (diff) |
fixes #4555 (Задваиваются контакты протоколов, где есть кэш)
Diffstat (limited to 'protocols/Facebook/src')
-rw-r--r-- | protocols/Facebook/src/proto.cpp | 18 | ||||
-rw-r--r-- | protocols/Facebook/src/proto.h | 7 |
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;
|