mirror of
https://github.com/notepad-plus-plus/notepad-plus-plus.git
synced 2025-07-27 07:44:24 +02:00
Fix crash when using custom toolbar icons
Fix leak when using custom icons for toolbar. Fix #16366, close #16367
This commit is contained in:
parent
5c1813185a
commit
07e8d84e04
@ -92,14 +92,14 @@ void IconList::addIcon(HICON hIcon) const
|
||||
ImageList_AddIcon(_hImglst, hIcon);
|
||||
}
|
||||
|
||||
bool IconList::changeIcon(size_t index, const wchar_t *iconLocation) const
|
||||
bool IconList::changeIcon(size_t index, const wchar_t* iconLocation) const
|
||||
{
|
||||
HBITMAP hBmp = (HBITMAP)::LoadImage(_hInst, iconLocation, IMAGE_ICON, _iconSize, _iconSize, LR_LOADFROMFILE | LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT);
|
||||
if (!hBmp)
|
||||
HICON hIcon = nullptr;
|
||||
DPIManagerV2::loadIcon(nullptr, iconLocation, _iconSize, _iconSize, &hIcon, LR_LOADFROMFILE | LR_LOADMAP3DCOLORS | LR_LOADTRANSPARENT);
|
||||
if (!hIcon)
|
||||
return false;
|
||||
size_t i = ImageList_ReplaceIcon(_hImglst, int(index), (HICON)hBmp);
|
||||
ImageList_AddMasked(_hImglst, (HBITMAP)hBmp, RGB(255,0,255));
|
||||
::DeleteObject(hBmp);
|
||||
size_t i = ::ImageList_ReplaceIcon(_hImglst, static_cast<int>(index), hIcon);
|
||||
::DestroyIcon(hIcon);
|
||||
return (i == index);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user