From a2f5418ba78530cd81aff19497fd44772e7bb42d Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Fri, 10 Apr 2015 14:56:20 +0000 Subject: SkypeWeb: GetInfo support; Small fixes. git-svn-id: http://svn.miranda-ng.org/main/trunk@12738 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/SkypeWeb/src/skype_chats.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'protocols/SkypeWeb/src/skype_chats.cpp') diff --git a/protocols/SkypeWeb/src/skype_chats.cpp b/protocols/SkypeWeb/src/skype_chats.cpp index 98259480e2..32608e0228 100644 --- a/protocols/SkypeWeb/src/skype_chats.cpp +++ b/protocols/SkypeWeb/src/skype_chats.cpp @@ -58,10 +58,22 @@ MCONTACT CSkypeProto::AddChatRoom(const char *chatname) void CSkypeProto::SetChatStatus(MCONTACT hContact, int iStatus) { ptrT tszChatID(getTStringA(hContact, "ChatID")); + ptrT tszNick(getTStringA(hContact, "Nick")); if (tszChatID == NULL) return; + // start chat session + GCSESSION gcw = {0}; + gcw.cbSize = sizeof(gcw); + gcw.iType = GCW_CHATROOM; + gcw.pszModule = m_szModuleName; + gcw.ptszName = tszNick; + gcw.ptszID = tszChatID; + gcw.dwItemData = (DWORD)tszChatID; + CallServiceSync(MS_GC_NEWSESSION, 0, (LPARAM)&gcw); + GCDEST gcd = { m_szModuleName, tszChatID, GC_EVENT_CONTROL }; GCEVENT gce = { sizeof(gce), &gcd }; - CallServiceSync(MS_GC_EVENT, (iStatus == ID_STATUS_OFFLINE) ? SESSION_OFFLINE : SESSION_ONLINE, (LPARAM)&gce); + CallServiceSync(MS_GC_EVENT, true ? SESSION_INITDONE : WINDOW_HIDDEN, (LPARAM)&gce); + CallServiceSync(MS_GC_EVENT, SESSION_ONLINE, (LPARAM)&gce); } \ No newline at end of file -- cgit v1.2.3