summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2014-02-01 21:01:03 +0000
committerGeorge Hazan <george.hazan@gmail.com>2014-02-01 21:01:03 +0000
commit53d2d0fad0a24da6f60507f023c70eafda50d051 (patch)
treeaec740888d46146202343a7683cdf780086cfd39
parent198e286b52fea238e1c6756cba07675bad8e46cc (diff)
explicit groupchat exit must close its window
git-svn-id: http://svn.miranda-ng.org/main/trunk@7995 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r--protocols/JabberG/src/jabber_chat.cpp4
-rw-r--r--protocols/JabberG/src/jabber_groupchat.cpp2
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;