From 24526b6f09a5eeba1ffdeee42f003e056a974056 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 30 Apr 2023 15:54:04 +0300 Subject: possible crash fix --- protocols/Telegram/src/groupchat.cpp | 43 ++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 21 deletions(-) (limited to 'protocols/Telegram') diff --git a/protocols/Telegram/src/groupchat.cpp b/protocols/Telegram/src/groupchat.cpp index 48decfea3b..eee14c00cd 100644 --- a/protocols/Telegram/src/groupchat.cpp +++ b/protocols/Telegram/src/groupchat.cpp @@ -47,29 +47,30 @@ void CTelegramProto::InitGroupChat(TG_USER *pUser, const TD::chat *pChat) } } else { - si = Chat_NewSession(GCW_CHANNEL, m_szModuleName, wszId, wszNick, pUser); - if (!si->pStatuses) { - Chat_AddGroup(si, TranslateT("SuperAdmin")); - Chat_AddGroup(si, TranslateT("Visitor")); - - ptrW wszMyId(getWStringA(DBKEY_ID)), wszMyNick(Contact::GetInfo(CNF_DISPLAY, 0, m_szModuleName)); + if (si = Chat_NewSession(GCW_CHANNEL, m_szModuleName, wszId, wszNick, pUser)) { + if (!si->pStatuses) { + Chat_AddGroup(si, TranslateT("SuperAdmin")); + Chat_AddGroup(si, TranslateT("Visitor")); + + ptrW wszMyId(getWStringA(DBKEY_ID)), wszMyNick(Contact::GetInfo(CNF_DISPLAY, 0, m_szModuleName)); + + GCEVENT gce = { si, GC_EVENT_JOIN }; + gce.pszUID.w = wszMyId; + gce.pszNick.w = wszMyNick; + gce.bIsMe = true; + gce.pszStatus.w = TranslateT("Visitor"); + Chat_Event(&gce); + + gce.bIsMe = false; + gce.pszUID.w = wszId; + gce.pszNick.w = wszNick; + gce.pszStatus.w = TranslateT("SuperAdmin"); + Chat_Event(&gce); + } - GCEVENT gce = { si, GC_EVENT_JOIN }; - gce.pszUID.w = wszMyId; - gce.pszNick.w = wszMyNick; - gce.bIsMe = true; - gce.pszStatus.w = TranslateT("Visitor"); - Chat_Event(&gce); - - gce.bIsMe = false; - gce.pszUID.w = wszId; - gce.pszNick.w = wszNick; - gce.pszStatus.w = TranslateT("SuperAdmin"); - Chat_Event(&gce); + Chat_Control(si, m_bHideGroupchats ? WINDOW_HIDDEN : SESSION_INITDONE); + Chat_Control(si, SESSION_ONLINE); } - - Chat_Control(si, m_bHideGroupchats ? WINDOW_HIDDEN : SESSION_INITDONE); - Chat_Control(si, SESSION_ONLINE); } pUser->m_si = si; -- cgit v1.2.3