Popup windows will be hidden when minimizing the main frame.
diff --git a/windows/win.c b/windows/win.c
index 938b48c..ece99d9 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -2668,7 +2668,24 @@
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();