From bed36b071fe082d34e5961bb5105e662f17aa7c6 Mon Sep 17 00:00:00 2001 From: Alexander Lantsev Date: Fri, 26 Apr 2013 19:41:06 +0000 Subject: - sync was returned - fixed contacts nick updating - fixed eternal "connecting" git-svn-id: http://svn.miranda-ng.org/main/trunk@4539 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Skype/src/skype_contacts.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'protocols/Skype/src/skype_contacts.cpp') diff --git a/protocols/Skype/src/skype_contacts.cpp b/protocols/Skype/src/skype_contacts.cpp index a4f9b0bb16..221e1f7669 100644 --- a/protocols/Skype/src/skype_contacts.cpp +++ b/protocols/Skype/src/skype_contacts.cpp @@ -224,6 +224,7 @@ HANDLE CSkypeProto::AddContact(CContact::Ref contact) ::db_set_ws(hContact, this->m_szModuleName, SKYPE_SETTINGS_LOGIN, sid); ::db_set_ws(hContact, this->m_szModuleName, "Nick", nick); + DBVARIANT dbv; if(!db_get_ts(NULL, m_szModuleName, SKYPE_SETTINGS_DEF_GROUP, &dbv)) { @@ -239,8 +240,10 @@ HANDLE CSkypeProto::AddContact(CContact::Ref contact) return hContact; } -void __cdecl CSkypeProto::LoadContactList(void*) +void __cdecl CSkypeProto::LoadContactList(void* data) { + bool isFirstLoad = data != NULL; + g_skype->GetHardwiredContactGroup(CContactGroup::ALL_BUDDIES, this->commonList); this->commonList.fetch(); this->commonList->SetOnContactListChangedCallback( @@ -258,11 +261,15 @@ void __cdecl CSkypeProto::LoadContactList(void*) HANDLE hContact = this->AddContact(contact); - // todo: move to AddContact? - this->UpdateContactAuthState(hContact, contact); - this->UpdateContactStatus(hContact, contact); - - this->UpdateProfile(contact.fetch(), hContact); + if ( !isFirstLoad) + { + // todo: move to AddContact? + this->UpdateContactAuthState(hContact, contact); + this->UpdateContactStatus(hContact, contact); + + this->UpdateProfileNickName(contact.fetch(), hContact); + this->UpdateProfile(contact.fetch(), hContact); + } } } -- cgit v1.2.3