diff options
author | George Hazan <george.hazan@gmail.com> | 2013-06-19 16:40:53 +0000 |
---|---|---|
committer | George Hazan <george.hazan@gmail.com> | 2013-06-19 16:40:53 +0000 |
commit | 09c0958aeb5c355b75d2cedf67e15ebb5098e980 (patch) | |
tree | f62ef1b962316c6049d97f7000fc3d734dd1f1fa | |
parent | 8cc57be75a8d90e08426721c628709b29034c37f (diff) |
two memory leaks
git-svn-id: http://svn.miranda-ng.org/main/trunk@5044 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
-rw-r--r-- | plugins/FingerprintNG/src/fingerprint.cpp | 5 | ||||
-rw-r--r-- | plugins/FingerprintNG/src/global.h | 2 | ||||
-rw-r--r-- | plugins/FingerprintNG/src/main.cpp | 1 | ||||
-rw-r--r-- | src/mir_core/miranda.cpp | 1 | ||||
-rw-r--r-- | src/mir_core/miranda.h | 4 | ||||
-rw-r--r-- | src/mir_core/subclass.cpp | 5 |
6 files changed, 18 insertions, 0 deletions
diff --git a/plugins/FingerprintNG/src/fingerprint.cpp b/plugins/FingerprintNG/src/fingerprint.cpp index 30f6655b4c..8f2cb0c060 100644 --- a/plugins/FingerprintNG/src/fingerprint.cpp +++ b/plugins/FingerprintNG/src/fingerprint.cpp @@ -1179,3 +1179,8 @@ void InitFingerModule() CreateServiceFunction(MS_FP_SAMECLIENTSW, ServiceSameClientsW);
CreateServiceFunction(MS_FP_GETCLIENTICONW, ServiceGetClientIconW);
}
+
+void UninitFingerModule()
+{
+ arMonitoredWindows.destroy();
+}
diff --git a/plugins/FingerprintNG/src/global.h b/plugins/FingerprintNG/src/global.h index 0a3cf95668..5bca488be6 100644 --- a/plugins/FingerprintNG/src/global.h +++ b/plugins/FingerprintNG/src/global.h @@ -131,6 +131,8 @@ typedef struct _foundInfo void ClearFI();
void InitFingerModule(void);
+void UninitFingerModule(void);
+
int OnOptInitialise(WPARAM wParam, LPARAM lParam);
int OnExtraImageApply(WPARAM wParam, LPARAM lParam);
diff --git a/plugins/FingerprintNG/src/main.cpp b/plugins/FingerprintNG/src/main.cpp index ce92350c51..b35de299ba 100644 --- a/plugins/FingerprintNG/src/main.cpp +++ b/plugins/FingerprintNG/src/main.cpp @@ -75,5 +75,6 @@ extern "C" int __declspec(dllexport) Unload() HeapDestroy(hHeap);
ClearFI();
+ UninitFingerModule();
return 0;
}
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)
|