From 19990d96d809a726de184724d94e0699536f6429 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 31 Mar 2019 22:31:57 +0300 Subject: icon leak fixes --- plugins/Msg_Export/src/FileViewer.cpp | 2 ++ plugins/Msg_Export/src/main.cpp | 9 ++++++++- plugins/Msg_Export/src/stdafx.h | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) (limited to 'plugins/Msg_Export/src') diff --git a/plugins/Msg_Export/src/FileViewer.cpp b/plugins/Msg_Export/src/FileViewer.cpp index 0ec823f2e6..eedbfd316d 100755 --- a/plugins/Msg_Export/src/FileViewer.cpp +++ b/plugins/Msg_Export/src/FileViewer.cpp @@ -749,6 +749,7 @@ static INT_PTR CALLBACK DlgProcFileViewer(HWND hwndDlg, UINT msg, WPARAM wParam, SetWindowLongPtr(hwndDlg, GWLP_USERDATA, lParam); pclDlg = (CLHistoryDlg *)lParam; + Window_SetIcon_IcoLib(hwndDlg, iconList[0].hIcolib); SendMessage(hwndDlg, WM_SETICON, ICON_BIG, (LPARAM)LoadIcon(g_plugin.getInst(), MAKEINTRESOURCE(IDI_EXPORT_MESSAGE))); { HWND hRichEdit = GetDlgItem(hwndDlg, IDC_RICHEDIT); @@ -824,6 +825,7 @@ static INT_PTR CALLBACK DlgProcFileViewer(HWND hwndDlg, UINT msg, WPARAM wParam, case WM_DESTROY: Utils_SaveWindowPosition(hwndDlg, pclDlg->hContact, MODULENAME, szFileViewDB); WindowList_Remove(hInternalWindowList, hwndDlg); + Window_FreeIcon_IcoLib(hwndDlg); return 0; case WM_SYSCOMMAND: diff --git a/plugins/Msg_Export/src/main.cpp b/plugins/Msg_Export/src/main.cpp index 5337cb88e0..2273804ae6 100755 --- a/plugins/Msg_Export/src/main.cpp +++ b/plugins/Msg_Export/src/main.cpp @@ -22,6 +22,11 @@ CMPlugin g_plugin; MWindowList hInternalWindowList = nullptr; +IconItem iconList[] = +{ + { "Main icon", "main", IDI_EXPORT_MESSAGE }, +}; + ///////////////////////////////////////////////////// // Remember to update the Version in the resource !!! ///////////////////////////////////////////////////// @@ -108,7 +113,7 @@ int MainInit(WPARAM /*wparam*/, LPARAM /*lparam*/) if (!g_bReplaceHistory) { CMenuItem mi(&g_plugin); SET_UID(mi, 0x701c543, 0xd078, 0x41dd, 0x95, 0xe3, 0x96, 0x49, 0x8a, 0x72, 0xc7, 0x50); - mi.hIcolibItem = LoadIcon(g_plugin.getInst(), MAKEINTRESOURCE(IDI_EXPORT_MESSAGE)); + mi.hIcolibItem = iconList[0].hIcolib; mi.position = 1000090100; mi.name.a = LPGEN("Open E&xported History"); mi.pszService = MS_SHOW_EXPORT_HISTORY; @@ -134,6 +139,8 @@ int MainInit(WPARAM /*wparam*/, LPARAM /*lparam*/) int CMPlugin::Load() { + registerIcon(MODULENAME, iconList, MODULENAME); + HookEvent(ME_DB_EVENT_ADDED, nExportEvent); HookEvent(ME_DB_EVENT_EDITED, nExportEvent); HookEvent(ME_DB_CONTACT_DELETED, nContactDeleted); diff --git a/plugins/Msg_Export/src/stdafx.h b/plugins/Msg_Export/src/stdafx.h index 3b69f6885b..4648e635f6 100755 --- a/plugins/Msg_Export/src/stdafx.h +++ b/plugins/Msg_Export/src/stdafx.h @@ -39,6 +39,7 @@ using namespace std; #include #include #include +#include #include #include #include @@ -70,5 +71,6 @@ struct CMPlugin : public PLUGIN extern MWindowList hInternalWindowList; extern wstring g_sDBPath, g_sMirandaPath; +extern IconItem iconList[]; #endif \ No newline at end of file -- cgit v1.2.3