[Xorg-commit] xc/programs/Xserver/hw/xwin winmultiwindowwindow.c,1.1.4.1.2.6,1.1.4.1.2.7 winmultiwindowwndproc.c,1.1.6.4,1.1.6.5
Takuma Murakami
xorg-commit at pdx.freedesktop.org
Wed May 9 17:30:30 EEST 2007
Committed by: takuma
Update of /cvs/xorg/xc/programs/Xserver/hw/xwin
In directory pdx:/tmp/cvs-serv4815
Modified Files:
Tag: CYGWIN
winmultiwindowwindow.c winmultiwindowwndproc.c
Log Message:
For the topmost Windows window, explicitly raise its X counterpart to the top in Z order to keep correct stacking when there is a minimized window which formerly obscured it.
Index: winmultiwindowwindow.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xwin/winmultiwindowwindow.c,v
retrieving revision 1.1.4.1.2.6
retrieving revision 1.1.4.1.2.7
diff -u -d -r1.1.4.1.2.6 -r1.1.4.1.2.7
--- a/winmultiwindowwindow.c 21 Feb 2004 13:30:25 -0000 1.1.4.1.2.6
+++ b/winmultiwindowwindow.c 25 Feb 2004 06:23:39 -0000 1.1.4.1.2.7
@@ -761,6 +761,7 @@
WindowPtr pWinSib = NULL;
DWORD dwCurrentProcessID = GetCurrentProcessId ();
DWORD dwWindowProcessID = 0;
+ XID vlist[2];
#if CYGMULTIWINDOW_DEBUG
ErrorF ("winReorderWindowsMultiWindow\n");
@@ -771,7 +772,7 @@
if (pScreenPriv->fWindowOrderChanged)
{
#if CYGMULTIWINDOW_DEBUG
- ErrorF ("winOrderWindowsMultiWindow - Need to restack\n");
+ ErrorF ("winReorderWindowsMultiWindow - Need to restack\n");
#endif
hwnd = GetTopWindow (NULL);
@@ -786,24 +787,19 @@
pWinSib = pWin;
pWin = GetProp (hwnd, WIN_WINDOW_PROP);
- if (pWinSib)
- {
- XID *vlist = malloc (sizeof(long) * 2);
-
- if (vlist == NULL)
- {
- ErrorF ("winOrderWindowsMultiWindow - malloc () "
- "failed\n");
- return;
- }
+ if (!pWinSib)
+ { /* 1st window - raise to the top */
+ vlist[0] = Above;
- ((long*)vlist)[0] = winGetWindowID (pWinSib);
- ((long*)vlist)[1] = Below;
+ ConfigureWindow (pWin, CWStackMode, vlist, wClient(pWin));
+ }
+ else
+ { /* 2nd or deeper windows - just below the previous one */
+ vlist[0] = winGetWindowID (pWinSib);
+ vlist[1] = Below;
ConfigureWindow (pWin, CWSibling | CWStackMode,
vlist, wClient(pWin));
-
- free (vlist);
}
}
hwnd = GetNextWindow (hwnd, GW_HWNDNEXT);
Index: winmultiwindowwndproc.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xwin/winmultiwindowwndproc.c,v
retrieving revision 1.1.6.4
retrieving revision 1.1.6.5
diff -u -d -r1.1.6.4 -r1.1.6.5
--- a/winmultiwindowwndproc.c 21 Feb 2004 13:30:25 -0000 1.1.6.4
+++ b/winmultiwindowwndproc.c 25 Feb 2004 06:23:39 -0000 1.1.6.5
@@ -207,7 +207,6 @@
WinXSizeHints sizeHints;
RECT *rect;
int iWidth, iHeight;
- POINT pt;
/* Invalid input checking */
if (pWin==NULL || lParam==0)
More information about the xorg-commit
mailing list