From d1a1f7d6f76b75df33d967bd96b817c1ffd38ce7 Mon Sep 17 00:00:00 2001 From: Noomen Hamza Date: Sun, 24 Oct 1999 00:02:27 +0000 Subject: [PATCH] Popup windows will be hidden when we minimize a main frame or shown when we maximize or restore a minimized main frame. --- windows/nonclient.c | 6 ++++++ windows/x11drv/event.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/windows/nonclient.c b/windows/nonclient.c index 0563c595a30..3788e47456d 100644 --- a/windows/nonclient.c +++ b/windows/nonclient.c @@ -2729,14 +2729,20 @@ LONG NC_HandleSysCommand( HWND hwnd, WPARAM16 wParam, POINT16 pt ) break; case SC_MINIMIZE: + if (hwnd == GetForegroundWindow()) + ShowOwnedPopups(hwnd,FALSE); ShowWindow( hwnd, SW_MINIMIZE ); break; case SC_MAXIMIZE: + if (IsIconic(hwnd) && hwnd == GetForegroundWindow()) + ShowOwnedPopups(hwnd,TRUE); ShowWindow( hwnd, SW_MAXIMIZE ); break; case SC_RESTORE: + if (IsIconic(hwnd) && hwnd == GetForegroundWindow()) + ShowOwnedPopups(hwnd,TRUE); ShowWindow( hwnd, SW_RESTORE ); break; diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c index 2be0c05a3bf..867831d87a0 100644 --- a/windows/x11drv/event.c +++ b/windows/x11drv/event.c @@ -1737,7 +1737,10 @@ void EVENT_MapNotify( HWND hWnd, XMapEvent *event ) WND *wndFocus = WIN_FindWndPtr(hwndFocus); WND *pWnd = WIN_FindWndPtr(hWnd); if (pWnd->flags & WIN_MANAGED) + { pWnd->dwStyle &= ~WS_MINIMIZE; + ShowOwnedPopups(hWnd,TRUE); + } WIN_ReleaseWndPtr(pWnd); if (hwndFocus && IsChild( hWnd, hwndFocus )) @@ -1759,7 +1762,10 @@ void EVENT_UnmapNotify( HWND hWnd, XUnmapEvent *event ) { EndMenu(); if( pWnd->dwStyle & WS_VISIBLE ) + { pWnd->dwStyle |= WS_MINIMIZE; + ShowOwnedPopups(hWnd,FALSE); + } } WIN_ReleaseWndPtr(pWnd); } -- 2.11.4.GIT