From 83674ecc1281dd4d8e9876145b87a637944d023d Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 15 Mar 2000 19:48:13 +0000 Subject: [PATCH] Michael Abd-El-Malek (on behalf of Corel) When we were switching to another desktop, the popup windows lost their WS_VISIBLE flag. --- windows/dce.c | 10 +++++----- windows/x11drv/event.c | 5 ++++- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/windows/dce.c b/windows/dce.c index 112a320439f..b166d3aa915 100644 --- a/windows/dce.c +++ b/windows/dce.c @@ -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); diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c index 6a53f28cccc..ed71c7f26e9 100644 --- a/windows/x11drv/event.c +++ b/windows/x11drv/event.c @@ -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); } } -- 2.11.4.GIT