From b078dfb78c89aea87cd422eae52694738e473cf3 Mon Sep 17 00:00:00 2001 From: dartraiden Date: Sun, 21 Jul 2019 19:59:18 +0300 Subject: Restore "Free for chat" status support (fixes #1963) --- protocols/EmLanProto/src/amdproto.cpp | 4 ++-- protocols/EmLanProto/src/mlan.cpp | 6 ++++++ protocols/EmLanProto/src/mlan.h | 1 + 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'protocols/EmLanProto/src') diff --git a/protocols/EmLanProto/src/amdproto.cpp b/protocols/EmLanProto/src/amdproto.cpp index 31609cec3e..fc620b8cae 100644 --- a/protocols/EmLanProto/src/amdproto.cpp +++ b/protocols/EmLanProto/src/amdproto.cpp @@ -66,9 +66,9 @@ static INT_PTR __cdecl EMPGetCaps(WPARAM wParam, LPARAM) return PF1_IM | PF1_BASICSEARCH | PF1_ADDSEARCHRES | PF1_PEER2PEER | PF1_INDIVSTATUS | PF1_MODEMSG | PF1_FILE | PF1_CANRENAMEFILE | PF1_FILERESUME; case PFLAGNUM_2: - return PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND; + return PF2_ONLINE | PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT; case PFLAGNUM_3: - return PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND; + return PF2_SHORTAWAY | PF2_LONGAWAY | PF2_LIGHTDND | PF2_HEAVYDND | PF2_FREECHAT; case PFLAG_UNIQUEIDTEXT: return (INT_PTR)Translate("User name, IP address or '*'"); default: diff --git a/protocols/EmLanProto/src/mlan.cpp b/protocols/EmLanProto/src/mlan.cpp index 6c2b9e13b2..6ad76e2f95 100644 --- a/protocols/EmLanProto/src/mlan.cpp +++ b/protocols/EmLanProto/src/mlan.cpp @@ -41,6 +41,7 @@ CMLan::CMLan() m_amesNa = nullptr; m_amesOccupied = nullptr; m_amesDnd = nullptr; + m_amesFfc = nullptr; m_pFileConnectionList = nullptr; @@ -61,6 +62,7 @@ CMLan::~CMLan() delete[] m_amesNa; delete[] m_amesOccupied; delete[] m_amesDnd; + delete[] m_amesFfc; } void CMLan::DeleteCache() @@ -321,6 +323,7 @@ void CMLan::OnRecvPacket(u_char *mes, int len, in_addr from) case ID_STATUS_NA: mesAway = m_amesNa; break; case ID_STATUS_OCCUPIED: mesAway = m_amesOccupied; break; case ID_STATUS_DND: mesAway = m_amesDnd; break; + case ID_STATUS_FREECHAT: mesAway = m_amesFfc; break; } if (mesAway) { @@ -508,6 +511,9 @@ int CMLan::SetAwayMsg(u_int status, char* msg) case ID_STATUS_DND: ppMsg = &m_amesDnd; break; + case ID_STATUS_FREECHAT: + ppMsg = &m_amesFfc; + break; default: return 1; } diff --git a/protocols/EmLanProto/src/mlan.h b/protocols/EmLanProto/src/mlan.h index df3793a3a1..8396f5d105 100644 --- a/protocols/EmLanProto/src/mlan.h +++ b/protocols/EmLanProto/src/mlan.h @@ -141,6 +141,7 @@ private: char* m_amesNa; char* m_amesOccupied; char* m_amesDnd; + char* m_amesFfc; struct TFileConnection { -- cgit v1.2.3