From e831ce4dfe7a6cb5f87f7eb862d5bbf21f4b4159 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 28 Feb 2023 11:57:59 +0300 Subject: =?UTF-8?q?fixes=20#3356=20(Telegram:=20=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=83=D1=81=20=D0=BF=D1=80=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D0=B8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- protocols/Telegram/src/proto.h | 4 ++-- protocols/Telegram/src/server.cpp | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'protocols/Telegram/src') diff --git a/protocols/Telegram/src/proto.h b/protocols/Telegram/src/proto.h index f16a650c94..6df28c5d99 100644 --- a/protocols/Telegram/src/proto.h +++ b/protocols/Telegram/src/proto.h @@ -142,10 +142,10 @@ class CTelegramProto : public PROTO } m_impl; bool __forceinline isRunning() const - { return m_pClientMmanager != nullptr; + { return m_pClientManager != nullptr; } - std::unique_ptr m_pClientMmanager; + std::unique_ptr m_pClientManager; TD::object_ptr pAuthState; mir_cs m_csMarkRead; diff --git a/protocols/Telegram/src/server.cpp b/protocols/Telegram/src/server.cpp index 4517c8cca3..8b708a1e81 100644 --- a/protocols/Telegram/src/server.cpp +++ b/protocols/Telegram/src/server.cpp @@ -27,16 +27,16 @@ void __cdecl CTelegramProto::ServerThread(void *) m_bTerminated = m_bAuthorized = false; m_szFullPhone.Format("%d%S", (int)m_iCountry, (wchar_t *)m_szOwnPhone); - m_pClientMmanager = std::make_unique(); - m_iClientId = m_pClientMmanager->create_client_id(); + m_pClientManager = std::make_unique(); + m_iClientId = m_pClientManager->create_client_id(); SendQuery(new TD::getOption("version")); while (!m_bTerminated) { - ProcessResponse(m_pClientMmanager->receive(1)); + ProcessResponse(m_pClientManager->receive(1)); } - m_pClientMmanager = std::move(nullptr); + m_pClientManager = std::move(nullptr); } void CTelegramProto::LogOut() @@ -53,6 +53,8 @@ void CTelegramProto::LogOut() m_impl.m_keepAlive.Stop(); setAllContactStatuses(ID_STATUS_OFFLINE, false); + for (auto &it : m_arUsers) + it->m_si = nullptr; } void CTelegramProto::OnLoggedIn() @@ -209,7 +211,7 @@ int CTelegramProto::SendTextMessage(int64_t chatId, const char *pszMessage) void CTelegramProto::SendQuery(TD::Function *pFunc, TG_QUERY_HANDLER pHandler) { - if (!m_pClientMmanager) + if (!m_pClientManager) return; int queryId = ++m_iQueryId; @@ -217,7 +219,7 @@ void CTelegramProto::SendQuery(TD::Function *pFunc, TG_QUERY_HANDLER pHandler) auto szDescr = to_string(*pFunc); debugLogA("Sending query %d:\n%s", queryId, szDescr.c_str()); - m_pClientMmanager->send(m_iClientId, queryId, TD::object_ptr(pFunc)); + m_pClientManager->send(m_iClientId, queryId, TD::object_ptr(pFunc)); if (pHandler) m_arRequests.insert(new TG_REQUEST(queryId, pHandler)); @@ -225,7 +227,7 @@ void CTelegramProto::SendQuery(TD::Function *pFunc, TG_QUERY_HANDLER pHandler) void CTelegramProto::SendQuery(TD::Function *pFunc, TG_QUERY_HANDLER_FULL pHandler, void *pUserInfo) { - if (!m_pClientMmanager) + if (!m_pClientManager) return; int queryId = ++m_iQueryId; @@ -233,7 +235,7 @@ void CTelegramProto::SendQuery(TD::Function *pFunc, TG_QUERY_HANDLER_FULL pHandl auto szDescr = to_string(*pFunc); debugLogA("Sending full query %d:\n%s", queryId, szDescr.c_str()); - m_pClientMmanager->send(m_iClientId, queryId, TD::object_ptr(pFunc)); + m_pClientManager->send(m_iClientId, queryId, TD::object_ptr(pFunc)); if (pHandler) m_arRequests.insert(new TG_REQUEST_FULL(queryId, pHandler, pUserInfo)); -- cgit v1.2.3