From 53d2d0fad0a24da6f60507f023c70eafda50d051 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sat, 1 Feb 2014 21:01:03 +0000 Subject: explicit groupchat exit must close its window git-svn-id: http://svn.miranda-ng.org/main/trunk@7995 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/JabberG/src/jabber_chat.cpp | 4 ++-- protocols/JabberG/src/jabber_groupchat.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/protocols/JabberG/src/jabber_chat.cpp b/protocols/JabberG/src/jabber_chat.cpp index 20c3d65d6d..20e7714bc8 100644 --- a/protocols/JabberG/src/jabber_chat.cpp +++ b/protocols/JabberG/src/jabber_chat.cpp @@ -349,7 +349,7 @@ void CJabberProto::GcQuit(JABBER_LIST_ITEM *item, int code, HXML reason) GCEVENT gce = { sizeof(gce), &gcd }; gce.ptszUID = item->jid; gce.ptszText = xmlGetText(reason); - CallServiceSync(MS_GC_EVENT, SESSION_OFFLINE, (LPARAM)&gce); + CallServiceSync(MS_GC_EVENT, (code == 200) ? SESSION_TERMINATE : SESSION_OFFLINE, (LPARAM)&gce); db_unset(HContactFromJID(item->jid), "CList", "Hidden"); item->bChatActive = FALSE; @@ -1320,7 +1320,7 @@ static void sttLogListHook(CJabberProto *ppro, JABBER_LIST_ITEM *item, GCHOOK* g << XCHILD(_T("destroy")) << XCHILD(_T("reason"), szBuffer)); case IDM_LEAVE: - ppro->GcQuit(item, 0, NULL); + ppro->GcQuit(item, 200, NULL); break; case IDM_PRESENCE_ONLINE: diff --git a/protocols/JabberG/src/jabber_groupchat.cpp b/protocols/JabberG/src/jabber_groupchat.cpp index 40d45de3ab..d6d9fb29b5 100644 --- a/protocols/JabberG/src/jabber_groupchat.cpp +++ b/protocols/JabberG/src/jabber_groupchat.cpp @@ -216,7 +216,7 @@ INT_PTR __cdecl CJabberProto::OnLeaveChat(WPARAM wParam, LPARAM) if (getWord(hContact, "Status", 0) != ID_STATUS_OFFLINE) { JABBER_LIST_ITEM *item = ListGetItemPtr(LIST_CHATROOM, jid); if (item != NULL) - GcQuit(item, 0, NULL); + GcQuit(item, 200, NULL); } } return 0; -- cgit v1.2.3