diff options
author | George Hazan <george.hazan@gmail.com> | 2014-02-01 21:01:03 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2014-02-01 21:01:03 +0000 |
commit | 53d2d0fad0a24da6f60507f023c70eafda50d051 (patch) | |
tree | aec740888d46146202343a7683cdf780086cfd39 | |
parent | 198e286b52fea238e1c6756cba07675bad8e46cc (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.cpp | 4 | ||||
-rw-r--r-- | 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;
|