From 181fa7c54d0ee07b28cc6627f04282d6cd2a5883 Mon Sep 17 00:00:00 2001 From: NF Stevens Date: Mon, 14 Dec 1998 14:37:06 +0000 Subject: [PATCH] Fix the Z-order of maximized/minimized child windows. --- windows/win.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/windows/win.c b/windows/win.c index 649f8522445..85e72f954e2 100644 --- a/windows/win.c +++ b/windows/win.c @@ -569,7 +569,8 @@ static HWND32 WIN_CreateWindowEx( CREATESTRUCT32A *cs, ATOM classAtom, /* Call the WH_CBT hook */ - hwndLinkAfter = (cs->style & WS_CHILD) ? HWND_BOTTOM : HWND_TOP; + hwndLinkAfter = ((cs->style & (WS_CHILD|WS_MAXIMIZE)) == WS_CHILD) + ? HWND_BOTTOM : HWND_TOP; if (HOOK_IsHooked( WH_CBT )) { @@ -712,9 +713,11 @@ static HWND32 WIN_CreateWindowEx( CREATESTRUCT32A *cs, ATOM classAtom, UINT16 swFlag = (wndPtr->dwStyle & WS_MINIMIZE) ? SW_MINIMIZE : SW_MAXIMIZE; wndPtr->dwStyle &= ~(WS_MAXIMIZE | WS_MINIMIZE); WINPOS_MinMaximize( wndPtr, swFlag, &newPos ); - swFlag = ((wndPtr->dwStyle & WS_CHILD) || GetActiveWindow32()) ? SWP_NOACTIVATE : 0; - SetWindowPos32( hwnd, 0, newPos.left, newPos.top, - newPos.right, newPos.bottom, SWP_FRAMECHANGED | swFlag ); + swFlag = ((wndPtr->dwStyle & WS_CHILD) || GetActiveWindow32()) + ? SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED + : SWP_NOZORDER | SWP_FRAMECHANGED; + SetWindowPos32( hwnd, 0, newPos.left, newPos.top, + newPos.right, newPos.bottom, swFlag ); } if( wndPtr->dwStyle & WS_CHILD && !(wndPtr->dwExStyle & WS_EX_NOPARENTNOTIFY) )