Allow SWP_HIDEWINDOW to be called on windows that are already hidden

without unmapping them again.
This commit is contained in:
John Richardson 1998-11-15 18:07:04 +00:00 committed by Alexandre Julliard
parent a97db5e450
commit 04e57f97fc
1 changed files with 8 additions and 7 deletions

View File

@ -2437,18 +2437,19 @@ BOOL32 WINAPI SetWindowPos32( HWND32 hwnd, HWND32 hwndInsertAfter,
} }
else if (flags & SWP_HIDEWINDOW) else if (flags & SWP_HIDEWINDOW)
{ {
wndPtr->dwStyle &= ~WS_VISIBLE;
if (wndPtr->window) if (wndPtr->window)
{ {
TSXUnmapWindow( display, wndPtr->window ); if (wndPtr->dwStyle & WS_VISIBLE) TSXUnmapWindow( display, wndPtr->window );
if( uFlags & SMC_SETXPOS ) wndPtr->dwStyle &= ~WS_VISIBLE;
{ if( uFlags & SMC_SETXPOS )
WINPOS_SetXWindowPos( &winpos ); {
winpos.hwndInsertAfter = tempInsertAfter; WINPOS_SetXWindowPos( &winpos );
} winpos.hwndInsertAfter = tempInsertAfter;
}
} }
else else
{ {
wndPtr->dwStyle &= ~WS_VISIBLE;
if (!(flags & SWP_NOREDRAW)) if (!(flags & SWP_NOREDRAW))
PAINT_RedrawWindow( wndPtr->parent->hwndSelf, &oldWindowRect, PAINT_RedrawWindow( wndPtr->parent->hwndSelf, &oldWindowRect,
0, RDW_INVALIDATE | RDW_ALLCHILDREN | 0, RDW_INVALIDATE | RDW_ALLCHILDREN |