summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/mir_core/miranda.cpp1
-rw-r--r--src/mir_core/miranda.h4
-rw-r--r--src/mir_core/subclass.cpp5
3 files changed, 10 insertions, 0 deletions
diff --git a/src/mir_core/miranda.cpp b/src/mir_core/miranda.cpp
index 6fcd531f87..856a7394eb 100644
--- a/src/mir_core/miranda.cpp
+++ b/src/mir_core/miranda.cpp
@@ -84,6 +84,7 @@ MIR_CORE_DLL(void) UnloadCoreModule(void)
CloseHandle(hThreadQueueEmpty);
TlsFree(mir_tls);
+ UninitSubclassing();
UninitProtocols();
DestroyModularEngine();
UnloadLangPackModule();
diff --git a/src/mir_core/miranda.h b/src/mir_core/miranda.h
index 1bfebf35c7..608b16fe78 100644
--- a/src/mir_core/miranda.h
+++ b/src/mir_core/miranda.h
@@ -90,6 +90,10 @@ TCHAR* LangPackTranslateStringT(int hLangpack, const TCHAR* tszEnglish);
HTREEITEM FindNamedTreeItemAtRoot(HWND hwndTree, const TCHAR* name);
+/**** subclass.cpp *********************************************************************/
+
+void UninitSubclassing();
+
/**** threads.cpp **********************************************************************/
extern DWORD mir_tls;
diff --git a/src/mir_core/subclass.cpp b/src/mir_core/subclass.cpp
index 4bf17e5de2..fe63f715eb 100644
--- a/src/mir_core/subclass.cpp
+++ b/src/mir_core/subclass.cpp
@@ -33,6 +33,11 @@ struct MSubclassData
static LIST<MSubclassData> arSubclass(10, LIST<MSubclassData>::FTSortFunc(HandleKeySortT));
+void UninitSubclassing()
+{
+ arSubclass.destroy();
+}
+
/////////////////////////////////////////////////////////////////////////////////////////
static LRESULT CALLBACK MSubclassWndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)