From 0a5bd1c2f123bc03b5014e6332689a5fcd3c9a1a Mon Sep 17 00:00:00 2001 From: Alexander Lantsev Date: Thu, 25 Oct 2012 18:11:20 +0000 Subject: - fixed some issues with contact adding and authorization git-svn-id: http://svn.miranda-ng.org/main/trunk@2075 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Skype/src/skype_contacts.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 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 60d062f9cd..23a47699f3 100644 --- a/protocols/Skype/src/skype_contacts.cpp +++ b/protocols/Skype/src/skype_contacts.cpp @@ -787,9 +787,26 @@ HANDLE CSkypeProto::AddContactBySid(const wchar_t* sid, const wchar_t* nick, DWO ::CallService(MS_PROTO_ADDTOCONTACT, (WPARAM)hContact, (LPARAM)this->m_szModuleName); this->SetSettingString(hContact, "sid", sid); - this->SetSettingString(hContact, "Nick", nick); - //::DBWriteContactSettingWString(hContact, "CList", "MyHandle", displayName); + this->SetSettingByte(hContact, "Auth", 1); + + CContact::Ref contact; + if (g_skype->GetContact(::mir_u2a(sid), contact)) + { + contact.fetch(); + bool result; + if (contact->IsMemberOfHardwiredGroup(CContactGroup::ALL_KNOWN_CONTACTS, result) && result) + { + CContactGroup::Ref group; + if (g_skype->GetHardwiredContactGroup(CContactGroup::ALL_KNOWN_CONTACTS, group)) + { + group.fetch(); + group->AddContact(contact); + } + } + } + + this->UpdateContactProfile(hContact, contact); if (flags & PALF_TEMPORARY) { -- cgit v1.2.3