diff options
author | Robert Pösel <robyer@seznam.cz> | 2014-05-10 17:38:59 +0000 |
---|---|---|
committer | Robert Pösel <robyer@seznam.cz> | 2014-05-10 17:38:59 +0000 |
commit | 8762a11a5053c1a7f12d6390c4edfa86533e796f (patch) | |
tree | 0cbf0168b951d0feae49b81ffc0ccf5e3318c8d5 /protocols/FacebookRM/src/process.cpp | |
parent | e3c0c006f5e87f16060b09b59f24e02a3faccf44 (diff) |
Facebook: Fix loading some contact with names at first login; version bump
git-svn-id: http://svn.miranda-ng.org/main/trunk@9157 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/FacebookRM/src/process.cpp')
-rw-r--r-- | protocols/FacebookRM/src/process.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/protocols/FacebookRM/src/process.cpp b/protocols/FacebookRM/src/process.cpp index fbbbb0c657..8b4778f8b2 100644 --- a/protocols/FacebookRM/src/process.cpp +++ b/protocols/FacebookRM/src/process.cpp @@ -232,15 +232,13 @@ void FacebookProto::ProcessFriendList(void* data) }
// Check remaining contacts in map and add them to contact list
- for (std::map< std::string, facebook_user* >::iterator iter = friends.begin(); iter != friends.end(); ++iter) {
- facebook_user *fbu = iter->second;
+ for (std::map< std::string, facebook_user* >::iterator it = friends.begin(); it != friends.end(); ) {
+ if (!it->second->deleted)
+ AddToContactList(it->second, CONTACT_FRIEND, true); // there could be race-condition between this thread and channel/buddy_list thread, so this contact might be created already
- if (!fbu->deleted)
- MCONTACT hContact = AddToContactList(fbu, CONTACT_FRIEND/*, true*/); // This contact is surely new ...am I sure? ...I'm not, so "true" is commented now
-
- delete fbu;
+ delete it->second;
+ it = friends.erase(it);
}
-
friends.clear();
debugLogA("***** Friend list processed");
|