Force rebuilding of window stack if a window changes it's state from
minimized.
This commit is contained in:
parent
522628f25b
commit
8653db5d57
|
@ -1,3 +1,9 @@
|
||||||
|
2005-03-10 Alexander Gottwald <ago at freedesktop dot org>
|
||||||
|
|
||||||
|
* winmultiwindowwndproc.c:
|
||||||
|
Force rebuilding of window stack if a window changes it's state from
|
||||||
|
minimized.
|
||||||
|
|
||||||
2005-03-07 Alexander Gottwald <ago at freedesktop dot org>
|
2005-03-07 Alexander Gottwald <ago at freedesktop dot org>
|
||||||
|
|
||||||
* winmultiwindowwndproc.c:
|
* winmultiwindowwndproc.c:
|
||||||
|
|
|
@ -301,6 +301,8 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
||||||
winWMMessageRec wmMsg;
|
winWMMessageRec wmMsg;
|
||||||
Bool fWMMsgInitialized = FALSE;
|
Bool fWMMsgInitialized = FALSE;
|
||||||
static Bool s_fTracking = FALSE;
|
static Bool s_fTracking = FALSE;
|
||||||
|
Bool needRestack = FALSE;
|
||||||
|
LRESULT ret;
|
||||||
|
|
||||||
#if CYGDEBUG
|
#if CYGDEBUG
|
||||||
winDebugWin32Message("winTopLevelWindowProc", hwnd, message, wParam, lParam);
|
winDebugWin32Message("winTopLevelWindowProc", hwnd, message, wParam, lParam);
|
||||||
|
@ -403,6 +405,13 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
||||||
/* Don't pass customized menus to DefWindowProc */
|
/* Don't pass customized menus to DefWindowProc */
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
if (wParam == SC_RESTORE || wParam == SC_MAXIMIZE)
|
||||||
|
{
|
||||||
|
WINDOWPLACEMENT wndpl;
|
||||||
|
wndpl.length = sizeof(wndpl);
|
||||||
|
if (GetWindowPlacement(hwnd, &wndpl) && wndpl.showCmd == SW_SHOWMINIMIZED)
|
||||||
|
needRestack = TRUE;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case WM_INITMENU:
|
case WM_INITMENU:
|
||||||
|
@ -1010,5 +1019,12 @@ winTopLevelWindowProc (HWND hwnd, UINT message,
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return DefWindowProc (hwnd, message, wParam, lParam);
|
ret = DefWindowProc (hwnd, message, wParam, lParam);
|
||||||
|
/*
|
||||||
|
* If the window was minized we get the stack change before the window is restored
|
||||||
|
* and so it gets lost. Ensure there stacking order is correct.
|
||||||
|
*/
|
||||||
|
if (needRestack)
|
||||||
|
winReorderWindowsMultiWindow();
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue