Browse Source

Fix GDI objects leak problem

Fix #1017, close #3896
pull/4113/merge
Asaq 7 years ago committed by Don HO
parent
commit
86aa5e6484
  1. 7
      PowerEditor/src/tools/NppShell/src/NppShell.cpp
  2. 1
      PowerEditor/src/tools/NppShell/src/NppShell.h

7
PowerEditor/src/tools/NppShell/src/NppShell.cpp

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

1
PowerEditor/src/tools/NppShell/src/NppShell.h

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

Loading…
Cancel
Save