From a6eae725381b5329011e4dc8e582ad3db59ba059 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 8 Jan 2019 23:41:43 +0200 Subject: fixes #1715 (by default account's destructor doesn't free network handle) --- protocols/Discord/src/proto.cpp | 2 -- protocols/Dummy/src/dummy_proto.cpp | 2 -- protocols/FacebookRM/src/proto.cpp | 2 -- protocols/Gadu-Gadu/src/gg_proto.cpp | 3 --- protocols/IRCG/src/ircproto.cpp | 1 - protocols/JabberG/src/jabber_proto.cpp | 1 - protocols/JabberG/src/jabber_proto.h | 1 - protocols/JabberG/src/jabber_ws.cpp | 6 ------ protocols/MSN/src/msn_proto.cpp | 1 - protocols/Sametime/src/sametime_proto.cpp | 3 --- protocols/SkypeWeb/src/skype_network.cpp | 1 - protocols/Steam/src/steam_proto.cpp | 8 +------- protocols/Tox/src/tox_netlib.cpp | 6 ------ protocols/Tox/src/tox_proto.cpp | 1 - protocols/Tox/src/tox_proto.h | 1 - protocols/Twitter/src/proto.cpp | 2 -- protocols/VKontakte/src/vk_proto.cpp | 2 -- src/mir_app/src/proto_utils.cpp | 3 +++ 18 files changed, 4 insertions(+), 42 deletions(-) diff --git a/protocols/Discord/src/proto.cpp b/protocols/Discord/src/proto.cpp index 51ca041f9a..b01d48ce58 100644 --- a/protocols/Discord/src/proto.cpp +++ b/protocols/Discord/src/proto.cpp @@ -90,8 +90,6 @@ CDiscordProto::CDiscordProto(const char *proto_name, const wchar_t *username) : CDiscordProto::~CDiscordProto() { debugLogA("CDiscordProto::~CDiscordProto"); - Netlib_CloseHandle(m_hNetlibUser); - m_hNetlibUser = nullptr; arUsers.destroy(); diff --git a/protocols/Dummy/src/dummy_proto.cpp b/protocols/Dummy/src/dummy_proto.cpp index e09e694ab7..e92e86dc42 100644 --- a/protocols/Dummy/src/dummy_proto.cpp +++ b/protocols/Dummy/src/dummy_proto.cpp @@ -73,8 +73,6 @@ CDummyProto::CDummyProto(const char *szModuleName, const wchar_t *ptszUserName) CDummyProto::~CDummyProto() { - Netlib_CloseHandle(m_hNetlibUser); - m_hNetlibUser = nullptr; } ////////////////////////////////////////////////////////////////////////////// diff --git a/protocols/FacebookRM/src/proto.cpp b/protocols/FacebookRM/src/proto.cpp index 0ff7c9d1d8..b4eacb2407 100644 --- a/protocols/FacebookRM/src/proto.cpp +++ b/protocols/FacebookRM/src/proto.cpp @@ -116,8 +116,6 @@ FacebookProto::~FacebookProto() Popup_UnregisterClass(it); popupClasses.clear(); - Netlib_CloseHandle(m_hNetlibUser); - CloseHandle(update_loop_event); } diff --git a/protocols/Gadu-Gadu/src/gg_proto.cpp b/protocols/Gadu-Gadu/src/gg_proto.cpp index fa628c2889..686dd12c0c 100644 --- a/protocols/Gadu-Gadu/src/gg_proto.cpp +++ b/protocols/Gadu-Gadu/src/gg_proto.cpp @@ -97,9 +97,6 @@ GaduProto::~GaduProto() Popup_UnregisterClass(hPopupError); Popup_UnregisterClass(hPopupNotify); - // Close handles - Netlib_CloseHandle(m_hNetlibUser); - // Destroy mutexes DeleteCriticalSection(&sess_mutex); DeleteCriticalSection(&ft_mutex); diff --git a/protocols/IRCG/src/ircproto.cpp b/protocols/IRCG/src/ircproto.cpp index 7335225248..83225e0699 100644 --- a/protocols/IRCG/src/ircproto.cpp +++ b/protocols/IRCG/src/ircproto.cpp @@ -150,7 +150,6 @@ CIrcProto::~CIrcProto() con = nullptr; } - Netlib_CloseHandle(m_hNetlibUser); m_hNetlibUser = nullptr; Netlib_CloseHandle(hNetlibDCC); hNetlibDCC = nullptr; mir_free(m_alias); diff --git a/protocols/JabberG/src/jabber_proto.cpp b/protocols/JabberG/src/jabber_proto.cpp index b7fa4b4426..47a1c0cdb3 100755 --- a/protocols/JabberG/src/jabber_proto.cpp +++ b/protocols/JabberG/src/jabber_proto.cpp @@ -221,7 +221,6 @@ CJabberProto::CJabberProto(const char *aProtoName, const wchar_t *aUserName) : CJabberProto::~CJabberProto() { - WsUninit(); ConsoleUninit(); GlobalMenuUninit(); diff --git a/protocols/JabberG/src/jabber_proto.h b/protocols/JabberG/src/jabber_proto.h index 9e76f6ef9b..a7ba7cbb75 100755 --- a/protocols/JabberG/src/jabber_proto.h +++ b/protocols/JabberG/src/jabber_proto.h @@ -844,7 +844,6 @@ struct CJabberProto : public PROTO, public IJabberInterface HNETLIBCONN WsConnect(char* host, WORD port); BOOL WsInit(void); - void WsUninit(void); int WsSend(HNETLIBCONN s, char* data, int datalen, int flags); int WsRecv(HNETLIBCONN s, char* data, long datalen, int flags); diff --git a/protocols/JabberG/src/jabber_ws.cpp b/protocols/JabberG/src/jabber_ws.cpp index 0da42e54dd..228bb5f5c9 100644 --- a/protocols/JabberG/src/jabber_ws.cpp +++ b/protocols/JabberG/src/jabber_ws.cpp @@ -39,12 +39,6 @@ BOOL CJabberProto::WsInit(void) return m_hNetlibUser != nullptr; } -void CJabberProto::WsUninit(void) -{ - Netlib_CloseHandle(m_hNetlibUser); - m_hNetlibUser = nullptr; -} - HNETLIBCONN CJabberProto::WsConnect(char* host, WORD port) { NETLIBOPENCONNECTION nloc = {}; diff --git a/protocols/MSN/src/msn_proto.cpp b/protocols/MSN/src/msn_proto.cpp index 18e99a63cb..18b04e4f02 100644 --- a/protocols/MSN/src/msn_proto.cpp +++ b/protocols/MSN/src/msn_proto.cpp @@ -158,7 +158,6 @@ CMsnProto::~CMsnProto() Lists_Uninit(); CachedMsg_Uninit(); - Netlib_CloseHandle(m_hNetlibUser); Netlib_CloseHandle(hNetlibUserHttps); mir_free(mailsoundname); diff --git a/protocols/Sametime/src/sametime_proto.cpp b/protocols/Sametime/src/sametime_proto.cpp index 7753b924d2..6bae4d5d0a 100644 --- a/protocols/Sametime/src/sametime_proto.cpp +++ b/protocols/Sametime/src/sametime_proto.cpp @@ -68,11 +68,8 @@ CSametimeProto::~CSametimeProto() debugLogW(L"CSametimeProto::~CSametimeProto() end"); UnRegisterGLibLogger(); - Netlib_CloseHandle(m_hNetlibUser); } - - MCONTACT CSametimeProto::AddToList(int flags, PROTOSEARCHRESULT* psr) { MYPROTOSEARCHRESULT* sr = (MYPROTOSEARCHRESULT*)psr; diff --git a/protocols/SkypeWeb/src/skype_network.cpp b/protocols/SkypeWeb/src/skype_network.cpp index 4b49979af1..7e17feb1f3 100644 --- a/protocols/SkypeWeb/src/skype_network.cpp +++ b/protocols/SkypeWeb/src/skype_network.cpp @@ -31,7 +31,6 @@ void CSkypeProto::InitNetwork() void CSkypeProto::UnInitNetwork() { ShutdownConnections(); - Netlib_CloseHandle(m_hNetlibUser); m_hNetlibUser = NULL; } void CSkypeProto::ShutdownConnections() diff --git a/protocols/Steam/src/steam_proto.cpp b/protocols/Steam/src/steam_proto.cpp index 67cca4f27e..cda3349382 100644 --- a/protocols/Steam/src/steam_proto.cpp +++ b/protocols/Steam/src/steam_proto.cpp @@ -87,13 +87,7 @@ CSteamProto::CSteamProto(const char* protoName, const wchar_t* userName) CSteamProto::~CSteamProto() { - if (m_hNetlibUser) - { - Netlib_CloseHandle(m_hNetlibUser); - m_hNetlibUser = nullptr; - } - if (m_hRequestsQueueEvent) - { + if (m_hRequestsQueueEvent) { CloseHandle(m_hRequestsQueueEvent); m_hRequestsQueueEvent = nullptr; } diff --git a/protocols/Tox/src/tox_netlib.cpp b/protocols/Tox/src/tox_netlib.cpp index ab76d7d815..0ba87ed391 100644 --- a/protocols/Tox/src/tox_netlib.cpp +++ b/protocols/Tox/src/tox_netlib.cpp @@ -13,9 +13,3 @@ void CToxProto::InitNetlib() debugLogA(__FUNCTION__":Setting protocol / module name to '%s'", m_szModuleName); } - -void CToxProto::UninitNetlib() -{ - Netlib_CloseHandle(m_hNetlibUser); - m_hNetlibUser = nullptr; -} diff --git a/protocols/Tox/src/tox_proto.cpp b/protocols/Tox/src/tox_proto.cpp index d46a26de5e..728168ff62 100644 --- a/protocols/Tox/src/tox_proto.cpp +++ b/protocols/Tox/src/tox_proto.cpp @@ -45,7 +45,6 @@ CToxProto::CToxProto(const char* protoName, const wchar_t* userName) CToxProto::~CToxProto() { DeleteTimerQueue(m_hTimerQueue); - UninitNetlib(); } void CToxProto::OnModulesLoaded() diff --git a/protocols/Tox/src/tox_proto.h b/protocols/Tox/src/tox_proto.h index 02f02eeae9..bcd95434c0 100644 --- a/protocols/Tox/src/tox_proto.h +++ b/protocols/Tox/src/tox_proto.h @@ -121,7 +121,6 @@ private: // netlib void InitNetlib(); - void UninitNetlib(); // icons static HANDLE GetIconHandle(int iconId); diff --git a/protocols/Twitter/src/proto.cpp b/protocols/Twitter/src/proto.cpp index 534907c9e6..80d22e8a3f 100644 --- a/protocols/Twitter/src/proto.cpp +++ b/protocols/Twitter/src/proto.cpp @@ -66,8 +66,6 @@ TwitterProto::~TwitterProto() { twit_.Disconnect(); - if (m_hNetlibUser) - Netlib_CloseHandle(m_hNetlibUser); if (hAvatarNetlib_) Netlib_CloseHandle(hAvatarNetlib_); } diff --git a/protocols/VKontakte/src/vk_proto.cpp b/protocols/VKontakte/src/vk_proto.cpp index 7e01cb4e7f..b4ed130c73 100644 --- a/protocols/VKontakte/src/vk_proto.cpp +++ b/protocols/VKontakte/src/vk_proto.cpp @@ -74,8 +74,6 @@ CVkProto::CVkProto(const char *szModuleName, const wchar_t *pwszUserName) : CVkProto::~CVkProto() { debugLogA("CVkProto::~CVkProto"); - Netlib_CloseHandle(m_hNetlibUser); - m_hNetlibUser = nullptr; UninitQueue(); UnInitMenus(); if (m_hPopupClassError) diff --git a/src/mir_app/src/proto_utils.cpp b/src/mir_app/src/proto_utils.cpp index e1f3d803c3..d97d8f5396 100644 --- a/src/mir_app/src/proto_utils.cpp +++ b/src/mir_app/src/proto_utils.cpp @@ -170,6 +170,9 @@ PROTO_INTERFACE::PROTO_INTERFACE(const char *pszModuleName, const wchar_t *ptszU PROTO_INTERFACE::~PROTO_INTERFACE() { + if (m_hNetlibUser) + Netlib_CloseHandle(m_hNetlibUser); + mir_free(m_szModuleName); mir_free(m_tszUserName); -- cgit v1.2.3