Michael Abd-El-Malek (on behalf of Corel)

When we were switching to another desktop, the popup windows lost
their WS_VISIBLE flag.
This commit is contained in:
Alexandre Julliard 2000-03-15 19:48:13 +00:00
parent cd8cf5e7c5
commit 83674ecc12
2 changed files with 9 additions and 6 deletions

View File

@ -251,11 +251,11 @@ static INT DCE_ReleaseDC( DCE* dce )
/*********************************************************************** /***********************************************************************
* DCE_InvalidateDCE * DCE_InvalidateDCE
* *
* It is called from SetWindowPos() - we have to mark as dirty all busy * It is called from SetWindowPos() and EVENT_MapNotify - we have to
* DCEs for windows that have pWnd->parent as an ansector and whose client * mark as dirty all busy DCEs for windows that have pWnd->parent as
* rect intersects with specified update rectangle. In addition, pWnd->parent * an ansector and whose client rect intersects with specified update
* DCEs may need to be updated if DCX_CLIPCHILDREN flag is set. * rectangle. In addition, pWnd->parent DCEs may need to be updated if
*/ * DCX_CLIPCHILDREN flag is set. */
BOOL DCE_InvalidateDCE(WND* pWnd, const RECT* pRectUpdate) BOOL DCE_InvalidateDCE(WND* pWnd, const RECT* pRectUpdate)
{ {
WND* wndScope = WIN_LockWndPtr(pWnd->parent); WND* wndScope = WIN_LockWndPtr(pWnd->parent);

View File

@ -1825,7 +1825,9 @@ void EVENT_MapNotify( HWND hWnd, XMapEvent *event )
WND *pWnd = WIN_FindWndPtr(hWnd); WND *pWnd = WIN_FindWndPtr(hWnd);
if (pWnd->flags & WIN_MANAGED) if (pWnd->flags & WIN_MANAGED)
{ {
DCE_InvalidateDCE( pWnd, &pWnd->rectWindow );
pWnd->dwStyle &= ~WS_MINIMIZE; pWnd->dwStyle &= ~WS_MINIMIZE;
pWnd->dwStyle |= WS_VISIBLE;
ShowOwnedPopups(hWnd,TRUE); ShowOwnedPopups(hWnd,TRUE);
} }
WIN_ReleaseWndPtr(pWnd); WIN_ReleaseWndPtr(pWnd);
@ -1850,7 +1852,8 @@ void EVENT_UnmapNotify( HWND hWnd, XUnmapEvent *event )
EndMenu(); EndMenu();
if( pWnd->dwStyle & WS_VISIBLE ) if( pWnd->dwStyle & WS_VISIBLE )
{ {
pWnd->dwStyle |= WS_MINIMIZE; pWnd->dwStyle |= WS_MINIMIZE;
pWnd->dwStyle &= ~WS_VISIBLE;
ShowOwnedPopups(hWnd,FALSE); ShowOwnedPopups(hWnd,FALSE);
} }
} }