Fix the Z-order of maximized/minimized child windows.
This commit is contained in:
parent
7a31ef2dc7
commit
181fa7c54d
|
@ -569,7 +569,8 @@ static HWND32 WIN_CreateWindowEx( CREATESTRUCT32A *cs, ATOM classAtom,
|
||||||
|
|
||||||
/* Call the WH_CBT hook */
|
/* 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 ))
|
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;
|
UINT16 swFlag = (wndPtr->dwStyle & WS_MINIMIZE) ? SW_MINIMIZE : SW_MAXIMIZE;
|
||||||
wndPtr->dwStyle &= ~(WS_MAXIMIZE | WS_MINIMIZE);
|
wndPtr->dwStyle &= ~(WS_MAXIMIZE | WS_MINIMIZE);
|
||||||
WINPOS_MinMaximize( wndPtr, swFlag, &newPos );
|
WINPOS_MinMaximize( wndPtr, swFlag, &newPos );
|
||||||
swFlag = ((wndPtr->dwStyle & WS_CHILD) || GetActiveWindow32()) ? SWP_NOACTIVATE : 0;
|
swFlag = ((wndPtr->dwStyle & WS_CHILD) || GetActiveWindow32())
|
||||||
SetWindowPos32( hwnd, 0, newPos.left, newPos.top,
|
? SWP_NOACTIVATE | SWP_NOZORDER | SWP_FRAMECHANGED
|
||||||
newPos.right, newPos.bottom, SWP_FRAMECHANGED | swFlag );
|
: 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) )
|
if( wndPtr->dwStyle & WS_CHILD && !(wndPtr->dwExStyle & WS_EX_NOPARENTNOTIFY) )
|
||||||
|
|
Loading…
Reference in New Issue