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
*
* It is called from SetWindowPos() - we have to mark as dirty all busy
* DCEs for windows that have pWnd->parent as an ansector and whose client
* rect intersects with specified update rectangle. In addition, pWnd->parent
* DCEs may need to be updated if DCX_CLIPCHILDREN flag is set.
*/
* It is called from SetWindowPos() and EVENT_MapNotify - we have to
* mark as dirty all busy DCEs for windows that have pWnd->parent as
* an ansector and whose client rect intersects with specified update
* 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)
{
WND* wndScope = WIN_LockWndPtr(pWnd->parent);

View File

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