From deca42d417dbe5b143c046c6bad8a7ba92fb2e01 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 23 Mar 2017 20:40:45 +0300 Subject: these windows should be manually unsubclassed before exit --- include/m_chat_int.h | 1 + libs/win32/mir_app.lib | Bin 115580 -> 115866 bytes libs/win64/mir_app.lib | Bin 111196 -> 111486 bytes src/mir_app/src/mir_app.def | 1 + src/mir_app/src/mir_app64.def | 1 + src/mir_app/src/srmm_base.cpp | 7 +++++++ 6 files changed, 10 insertions(+) diff --git a/include/m_chat_int.h b/include/m_chat_int.h index 2f2f25d039..ce66e3387a 100644 --- a/include/m_chat_int.h +++ b/include/m_chat_int.h @@ -400,6 +400,7 @@ protected: CSrmmBaseDialog(HINSTANCE hInst, int idDialog, SESSION_INFO *si = nullptr); virtual void OnInitDialog() override; + virtual void OnClose() override; virtual INT_PTR DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) override; void DoEventHook(int iType, const USERINFO *pUser, const wchar_t *pszText, INT_PTR dwItem); diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib index 438911e680..e756d4df48 100644 Binary files a/libs/win32/mir_app.lib and b/libs/win32/mir_app.lib differ diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib index 1cc3c53c4b..c11668f931 100644 Binary files a/libs/win64/mir_app.lib and b/libs/win64/mir_app.lib differ diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index d92766b9dd..ad0242556b 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -436,3 +436,4 @@ Chat_UpdateOptions @418 NONAME ?WndProc_Message@CSrmmBaseDialog@@UAEJIIJ@Z @438 NONAME ?WndProc_Nicklist@CSrmmBaseDialog@@UAEJIIJ@Z @439 NONAME ?onDblClick_List@CSrmmBaseDialog@@IAEXPAVCCtrlListBox@@@Z @440 NONAME +?OnClose@CSrmmBaseDialog@@MAEXXZ @441 NONAME diff --git a/src/mir_app/src/mir_app64.def b/src/mir_app/src/mir_app64.def index e7152de5cb..c16ce177a3 100644 --- a/src/mir_app/src/mir_app64.def +++ b/src/mir_app/src/mir_app64.def @@ -436,3 +436,4 @@ Chat_UpdateOptions @418 NONAME ?WndProc_Message@CSrmmBaseDialog@@UEAA_JI_K_J@Z @438 NONAME ?WndProc_Nicklist@CSrmmBaseDialog@@UEAA_JI_K_J@Z @439 NONAME ?onDblClick_List@CSrmmBaseDialog@@IEAAXPEAVCCtrlListBox@@@Z @440 NONAME +?OnClose@CSrmmBaseDialog@@MEAAXXZ @441 NONAME diff --git a/src/mir_app/src/srmm_base.cpp b/src/mir_app/src/srmm_base.cpp index f9d68536e0..8066b99851 100644 --- a/src/mir_app/src/srmm_base.cpp +++ b/src/mir_app/src/srmm_base.cpp @@ -192,6 +192,13 @@ void CSrmmBaseDialog::OnInitDialog() LoadSettings(); } +void CSrmmBaseDialog::OnClose() +{ + mir_unsubclassWindow(m_pLog->GetHwnd(), stubLogProc); + mir_unsubclassWindow(m_pEntry->GetHwnd(), stubMessageProc); + mir_unsubclassWindow(m_nickList.GetHwnd(), stubNicklistProc); +} + ///////////////////////////////////////////////////////////////////////////////////////// INT_PTR CSrmmBaseDialog::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam) -- cgit v1.2.3