Popup windows will be hidden when minimizing the main frame.
This commit is contained in:
parent
d65198c6b3
commit
ff72776e55
|
@ -154,6 +154,7 @@ typedef struct
|
|||
#define WIN_MANAGED 0x0100 /* Window managed by the window system */
|
||||
#define WIN_ISDIALOG 0x0200 /* Window is a dialog */
|
||||
#define WIN_ISWIN32 0x0400 /* Understands Win32 messages */
|
||||
#define WIN_NEEDS_SHOW_OWNEDPOPUP 0x0800 /* WM_SHOWWINDOW:SC_SHOW must be sent in the next ShowOwnedPopup call */
|
||||
|
||||
/* BuildWinArray() flags */
|
||||
#define BWA_SKIPDISABLED 0x0001
|
||||
|
|
|
@ -2668,7 +2668,24 @@ BOOL WINAPI ShowOwnedPopups( HWND owner, BOOL fShow )
|
|||
for (; count < totalChild; count++)
|
||||
{
|
||||
if (pWnd[count]->owner && (pWnd[count]->owner->hwndSelf == owner) && (pWnd[count]->dwStyle & WS_POPUP))
|
||||
SendMessageA(pWnd[count]->hwndSelf, WM_SHOWWINDOW, fShow ? SW_SHOW : SW_HIDE,IsIconic(owner) ? SW_PARENTOPENING : SW_PARENTCLOSING);
|
||||
{
|
||||
if (fShow)
|
||||
{
|
||||
if (pWnd[count]->flags & WIN_NEEDS_SHOW_OWNEDPOPUP)
|
||||
{
|
||||
SendMessageA(pWnd[count]->hwndSelf, WM_SHOWWINDOW, SW_SHOW, IsIconic(owner) ? SW_PARENTOPENING : SW_PARENTCLOSING);
|
||||
pWnd[count]->flags &= ~WIN_NEEDS_SHOW_OWNEDPOPUP;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (IsWindowVisible(pWnd[count]->hwndSelf))
|
||||
{
|
||||
SendMessageA(pWnd[count]->hwndSelf, WM_SHOWWINDOW, SW_HIDE, IsIconic(owner) ? SW_PARENTOPENING : SW_PARENTCLOSING);
|
||||
pWnd[count]->flags |= WIN_NEEDS_SHOW_OWNEDPOPUP;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
WIN_ReleaseDesktop();
|
||||
|
|
Loading…
Reference in New Issue