summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/skype_chats.cpp
diff options
context:
space:
mode:
authorMikalaiR <nikolay.romanovich@narod.ru>2015-04-10 14:56:20 +0000
committerMikalaiR <nikolay.romanovich@narod.ru>2015-04-10 14:56:20 +0000
commita2f5418ba78530cd81aff19497fd44772e7bb42d (patch)
tree0a210bb8b2fe511242bbf186efa277f33144482f /protocols/SkypeWeb/src/skype_chats.cpp
parenta95fb39f8e85ad7c2feb30b9797f292d02e07c18 (diff)
SkypeWeb: GetInfo support; Small fixes.
git-svn-id: http://svn.miranda-ng.org/main/trunk@12738 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/SkypeWeb/src/skype_chats.cpp')
-rw-r--r--protocols/SkypeWeb/src/skype_chats.cpp14
1 files changed, 13 insertions, 1 deletions
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