Fix GDI objects leak problem

Fix #1017, close #3896
This commit is contained in:
Asaq 2017-11-17 19:59:16 +03:00 committed by Don HO
parent ecba7be9e4
commit 86aa5e6484
2 changed files with 7 additions and 1 deletions

7
PowerEditor/src/tools/NppShell/src/NppShell.cpp Normal file → Executable file
View File

@ -467,7 +467,8 @@ CShellExt::CShellExt() :
m_nameLength(0), m_nameLength(0),
m_nameMaxLength(maxText), m_nameMaxLength(maxText),
m_isDynamic(false), m_isDynamic(false),
m_winVer(0) m_winVer(0),
m_hBitmap(NULL)
{ {
TCHAR szKeyTemp [MAX_PATH + GUID_STRING_SIZE]; TCHAR szKeyTemp [MAX_PATH + GUID_STRING_SIZE];
ZeroMemory(&m_stgMedium, sizeof(m_stgMedium)); ZeroMemory(&m_stgMedium, sizeof(m_stgMedium));
@ -533,6 +534,9 @@ CShellExt::~CShellExt() {
DeinitTheming(); DeinitTheming();
} }
if (m_hBitmap != NULL && m_hBitmap != HBMMENU_CALLBACK)
DeleteBitmap(m_hBitmap);
if (m_pDataObj) if (m_pDataObj)
m_pDataObj->Release(); m_pDataObj->Release();
_cRef--; _cRef--;
@ -648,6 +652,7 @@ STDMETHODIMP CShellExt::QueryContextMenu(HMENU hMenu, UINT indexMenu, UINT idCmd
} }
} }
m_hBitmap = icon;
} }
m_hMenu = hMenu; m_hMenu = hMenu;

1
PowerEditor/src/tools/NppShell/src/NppShell.h Normal file → Executable file
View File

@ -91,6 +91,7 @@ private:
int m_nameLength; int m_nameLength;
int m_nameMaxLength; int m_nameMaxLength;
bool m_isDynamic; bool m_isDynamic;
HBITMAP m_hBitmap;
DWORD m_winVer; //current windows version DWORD m_winVer; //current windows version