From 9f974ab8617b6b7c19bac9e71d06de89d7e7bd03 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 19 Sep 2016 14:17:59 +0000 Subject: - struct GCSESSION died; - Chat_NewSession simply gets 5 parameters; - minor chat code cleaning git-svn-id: http://svn.miranda-ng.org/main/trunk@17318 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/MRA/src/MraChat.cpp | 46 ++++++++++++++++--------------------- protocols/MRA/src/Mra_functions.cpp | 9 +------- 2 files changed, 21 insertions(+), 34 deletions(-) (limited to 'protocols/MRA/src') diff --git a/protocols/MRA/src/MraChat.cpp b/protocols/MRA/src/MraChat.cpp index 046093d84c..454d44a2e9 100644 --- a/protocols/MRA/src/MraChat.cpp +++ b/protocols/MRA/src/MraChat.cpp @@ -27,32 +27,26 @@ bool CMraProto::MraChatRegister() INT_PTR CMraProto::MraChatSessionNew(MCONTACT hContact) { if (bChatExists) - if (hContact) { - CMStringW wszEMail; - mraGetStringW(hContact, "e-mail", wszEMail); - - GCSESSION gcw = {}; - gcw.iType = GCW_CHATROOM; - gcw.pszModule = m_szModuleName; - gcw.ptszName = pcli->pfnGetContactDisplayName(hContact, 0); - gcw.ptszID = wszEMail; - gcw.ptszStatusbarText = L"status bar"; - gcw.pItemData = (void*)hContact; - if (!Chat_NewSession(&gcw)) { - for (int i = 0; i < _countof(lpwszStatuses); i++) - Chat_AddGroup(m_szModuleName, wszEMail, TranslateW(lpwszStatuses[i])); - - Chat_Control(m_szModuleName, wszEMail, SESSION_INITDONE); - Chat_Control(m_szModuleName, wszEMail, SESSION_ONLINE); - - DWORD opcode = MULTICHAT_GET_MEMBERS; - CMStringA szEmail; - if (mraGetStringA(hContact, "e-mail", szEmail)) - MraMessage(FALSE, NULL, 0, MESSAGE_FLAG_MULTICHAT, szEmail, L"", (LPBYTE)&opcode, sizeof(opcode)); - return 0; - } - } - return 1; + if (!hContact) + return 1; + + CMStringW wszEMail; + mraGetStringW(hContact, "e-mail", wszEMail); + + if (Chat_NewSession(GCW_CHATROOM, m_szModuleName, wszEMail, pcli->pfnGetContactDisplayName(hContact, 0), (void*)hContact)) + return 1; + + for (int i = 0; i < _countof(lpwszStatuses); i++) + Chat_AddGroup(m_szModuleName, wszEMail, TranslateW(lpwszStatuses[i])); + + Chat_Control(m_szModuleName, wszEMail, SESSION_INITDONE); + Chat_Control(m_szModuleName, wszEMail, SESSION_ONLINE); + + DWORD opcode = MULTICHAT_GET_MEMBERS; + CMStringA szEmail; + if (mraGetStringA(hContact, "e-mail", szEmail)) + MraMessage(FALSE, NULL, 0, MESSAGE_FLAG_MULTICHAT, szEmail, L"", (LPBYTE)&opcode, sizeof(opcode)); + return 0; } void CMraProto::MraChatSessionDestroy(MCONTACT hContact) diff --git a/protocols/MRA/src/Mra_functions.cpp b/protocols/MRA/src/Mra_functions.cpp index 34c002235d..844d654245 100644 --- a/protocols/MRA/src/Mra_functions.cpp +++ b/protocols/MRA/src/Mra_functions.cpp @@ -525,14 +525,7 @@ MCONTACT CMraProto::MraHContactFromEmail(const CMStringA &szEmail, BOOL bAddIfNe //not already there: add if (IsEMailChatAgent(szEmail)) { CMStringW wszEMail = szEmail; - - GCSESSION gcw = {}; - gcw.iType = GCW_CHATROOM; - gcw.pszModule = m_szModuleName; - gcw.ptszName = wszEMail; - gcw.ptszID = (LPWSTR)wszEMail.c_str(); - - if (Chat_NewSession(&gcw) == 0) { + if (Chat_NewSession(GCW_CHATROOM, m_szModuleName, wszEMail, wszEMail) == 0) { BOOL bChatAdded = FALSE; for (hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { if (mraGetStringA(hContact, "ChatRoomID", szEMailLocal)) { -- cgit v1.2.3