Fixed a memory leak that occurs when we maximize/minimize an MDI
child.
This commit is contained in:
parent
9b7fa1922a
commit
4691d0cb89
|
@ -899,6 +899,7 @@ static BOOL MDI_AugmentFrameMenu( MDICLIENTINFO* ci, WND *frame,
|
||||||
*/
|
*/
|
||||||
static BOOL MDI_RestoreFrameMenu( WND *frameWnd, HWND hChild )
|
static BOOL MDI_RestoreFrameMenu( WND *frameWnd, HWND hChild )
|
||||||
{
|
{
|
||||||
|
MENUITEMINFOA menuInfo;
|
||||||
INT nItems = GetMenuItemCount(frameWnd->wIDmenu) - 1;
|
INT nItems = GetMenuItemCount(frameWnd->wIDmenu) - 1;
|
||||||
UINT iId = GetMenuItemID(frameWnd->wIDmenu,nItems) ;
|
UINT iId = GetMenuItemID(frameWnd->wIDmenu,nItems) ;
|
||||||
|
|
||||||
|
@ -907,9 +908,27 @@ static BOOL MDI_RestoreFrameMenu( WND *frameWnd, HWND hChild )
|
||||||
if(!(iId == SC_RESTORE || iId == SC_CLOSE) )
|
if(!(iId == SC_RESTORE || iId == SC_CLOSE) )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* app button */
|
/*
|
||||||
|
* Remove the system menu, If that menu is the icon of the window
|
||||||
|
* as it is in win95, we have to delete the bitmap.
|
||||||
|
*/
|
||||||
|
menuInfo.cbSize = sizeof(MENUITEMINFOA);
|
||||||
|
menuInfo.fMask = MIIM_DATA | MIIM_TYPE;
|
||||||
|
|
||||||
|
GetMenuItemInfoA(frameWnd->wIDmenu,
|
||||||
|
0,
|
||||||
|
TRUE,
|
||||||
|
&menuInfo);
|
||||||
|
|
||||||
RemoveMenu(frameWnd->wIDmenu,0,MF_BYPOSITION);
|
RemoveMenu(frameWnd->wIDmenu,0,MF_BYPOSITION);
|
||||||
|
|
||||||
|
if ( (menuInfo.fType & MFT_BITMAP) &&
|
||||||
|
(LOWORD(menuInfo.dwTypeData)!=0) &&
|
||||||
|
(LOWORD(menuInfo.dwTypeData)!=hBmpClose) )
|
||||||
|
{
|
||||||
|
DeleteObject((HBITMAP)LOWORD(menuInfo.dwTypeData));
|
||||||
|
}
|
||||||
|
|
||||||
if(TWEAK_WineLook > WIN31_LOOK)
|
if(TWEAK_WineLook > WIN31_LOOK)
|
||||||
{
|
{
|
||||||
/* close */
|
/* close */
|
||||||
|
|
Loading…
Reference in New Issue