Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
ed15fc7d
Commit
ed15fc7d
authored
Jun 29, 2001
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved ForceWindowRaise to the USER driver and removed the WND driver.
parent
b9bd3f81
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
54 additions
and
159 deletions
+54
-159
ttydrv.h
dlls/ttydrv/ttydrv.h
+0
-10
ttydrv_main.c
dlls/ttydrv/ttydrv_main.c
+0
-4
wnd.c
dlls/ttydrv/wnd.c
+0
-13
user_main.c
dlls/user/user_main.c
+2
-3
winpos.c
dlls/x11drv/winpos.c
+44
-0
x11drv.spec
dlls/x11drv/x11drv.spec
+1
-0
x11drv_main.c
dlls/x11drv/x11drv_main.c
+0
-2
user.h
include/user.h
+1
-0
win.h
include/win.h
+2
-11
x11drv.h
include/x11drv.h
+0
-6
win.c
windows/win.c
+0
-5
winpos.c
windows/winpos.c
+3
-1
Makefile.in
windows/x11drv/Makefile.in
+1
-2
wnd.c
windows/x11drv/wnd.c
+0
-102
No files found.
dlls/ttydrv/ttydrv.h
View file @
ed15fc7d
...
@@ -127,14 +127,4 @@ extern int screen_rows;
...
@@ -127,14 +127,4 @@ extern int screen_rows;
extern
int
screen_cols
;
extern
int
screen_cols
;
extern
WINDOW
*
root_window
;
extern
WINDOW
*
root_window
;
/* TTY windows driver */
extern
struct
tagWND_DRIVER
TTYDRV_WND_Driver
;
extern
HANDLE
TTYDRV_LoadOEMResource
(
WORD
resid
,
WORD
type
);
extern
void
TTYDRV_WND_ForceWindowRaise
(
struct
tagWND
*
pWnd
);
extern
void
TTYDRV_WND_ScrollWindow
(
struct
tagWND
*
wndPtr
,
HDC
hdc
,
INT
dx
,
INT
dy
,
const
RECT
*
clipRect
,
BOOL
bUpdate
);
extern
BOOL
TTYDRV_WND_SetHostAttr
(
struct
tagWND
*
wndPtr
,
INT
haKey
,
INT
value
);
#endif
/* !defined(__WINE_TTYDRV_H) */
#endif
/* !defined(__WINE_TTYDRV_H) */
dlls/ttydrv/ttydrv_main.c
View file @
ed15fc7d
...
@@ -29,8 +29,6 @@ WINDOW *root_window;
...
@@ -29,8 +29,6 @@ WINDOW *root_window;
*/
*/
static
void
process_attach
(
void
)
static
void
process_attach
(
void
)
{
{
WND_Driver
=
&
TTYDRV_WND_Driver
;
#ifdef WINE_CURSES
#ifdef WINE_CURSES
if
((
root_window
=
initscr
()))
if
((
root_window
=
initscr
()))
{
{
...
@@ -57,8 +55,6 @@ static void process_detach(void)
...
@@ -57,8 +55,6 @@ static void process_detach(void)
#ifdef WINE_CURSES
#ifdef WINE_CURSES
if
(
root_window
)
endwin
();
if
(
root_window
)
endwin
();
#endif
/* WINE_CURSES */
#endif
/* WINE_CURSES */
WND_Driver
=
NULL
;
}
}
...
...
dlls/ttydrv/wnd.c
View file @
ed15fc7d
...
@@ -15,11 +15,6 @@
...
@@ -15,11 +15,6 @@
DEFAULT_DEBUG_CHANNEL
(
ttydrv
);
DEFAULT_DEBUG_CHANNEL
(
ttydrv
);
WND_DRIVER
TTYDRV_WND_Driver
=
{
TTYDRV_WND_ForceWindowRaise
};
#define SWP_AGG_NOGEOMETRYCHANGE \
#define SWP_AGG_NOGEOMETRYCHANGE \
(SWP_NOSIZE | SWP_NOMOVE | SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE)
(SWP_NOSIZE | SWP_NOMOVE | SWP_NOCLIENTSIZE | SWP_NOCLIENTMOVE)
#define SWP_AGG_NOPOSCHANGE \
#define SWP_AGG_NOPOSCHANGE \
...
@@ -98,14 +93,6 @@ BOOL TTYDRV_DestroyWindow( HWND hwnd )
...
@@ -98,14 +93,6 @@ BOOL TTYDRV_DestroyWindow( HWND hwnd )
return
TRUE
;
return
TRUE
;
}
}
/***********************************************************************
* TTYDRV_WND_ForceWindowRaise
*/
void
TTYDRV_WND_ForceWindowRaise
(
WND
*
wndPtr
)
{
FIXME
(
"(%p): stub
\n
"
,
wndPtr
);
}
/***********************************************************************
/***********************************************************************
* DCE_OffsetVisRgn
* DCE_OffsetVisRgn
...
...
dlls/user/user_main.c
View file @
ed15fc7d
...
@@ -35,9 +35,7 @@ WORD USER_HeapSel = 0; /* USER heap selector */
...
@@ -35,9 +35,7 @@ WORD USER_HeapSel = 0; /* USER heap selector */
static
HMODULE
graphics_driver
;
static
HMODULE
graphics_driver
;
#define GET_USER_FUNC(name) \
#define GET_USER_FUNC(name) USER_Driver.p##name = (void*)GetProcAddress( graphics_driver, #name )
if (!(USER_Driver.p##name = (void*)GetProcAddress( graphics_driver, #name ))) \
FIXME("%s not found in graphics driver\n", #name)
/* load the graphics driver */
/* load the graphics driver */
static
BOOL
load_driver
(
void
)
static
BOOL
load_driver
(
void
)
...
@@ -89,6 +87,7 @@ static BOOL load_driver(void)
...
@@ -89,6 +87,7 @@ static BOOL load_driver(void)
GET_USER_FUNC
(
DestroyWindow
);
GET_USER_FUNC
(
DestroyWindow
);
GET_USER_FUNC
(
GetDC
);
GET_USER_FUNC
(
GetDC
);
GET_USER_FUNC
(
EnableWindow
);
GET_USER_FUNC
(
EnableWindow
);
GET_USER_FUNC
(
ForceWindowRaise
);
GET_USER_FUNC
(
MsgWaitForMultipleObjectsEx
);
GET_USER_FUNC
(
MsgWaitForMultipleObjectsEx
);
GET_USER_FUNC
(
ScrollDC
);
GET_USER_FUNC
(
ScrollDC
);
GET_USER_FUNC
(
ScrollWindowEx
);
GET_USER_FUNC
(
ScrollWindowEx
);
...
...
dlls/x11drv/winpos.c
View file @
ed15fc7d
...
@@ -1943,3 +1943,47 @@ void X11DRV_SysCommandSizeMove( HWND hwnd, WPARAM wParam )
...
@@ -1943,3 +1943,47 @@ void X11DRV_SysCommandSizeMove( HWND hwnd, WPARAM wParam )
END:
END:
WIN_ReleaseWndPtr
(
wndPtr
);
WIN_ReleaseWndPtr
(
wndPtr
);
}
}
/***********************************************************************
* X11DRV_ForceWindowRaise (X11DRV.@)
*
* Raise a window on top of the X stacking order, while preserving
* the correct Windows Z order.
*
* FIXME: this should go away.
*/
void
X11DRV_ForceWindowRaise
(
HWND
hwnd
)
{
XWindowChanges
winChanges
;
Display
*
display
=
thread_display
();
WND
*
wndPrev
,
*
wndPtr
=
WIN_FindWndPtr
(
hwnd
);
if
(
!
wndPtr
)
return
;
if
((
wndPtr
->
dwExStyle
&
WS_EX_MANAGED
)
||
wndPtr
->
parent
->
hwndSelf
!=
GetDesktopWindow
()
||
IsRectEmpty
(
&
wndPtr
->
rectWindow
)
||
!
get_whole_window
(
wndPtr
))
{
WIN_ReleaseWndPtr
(
wndPtr
);
return
;
}
/* Raise all windows up to wndPtr according to their Z order.
* (it would be easier with sibling-related Below but it doesn't
* work very well with SGI mwm for instance)
*/
winChanges
.
stack_mode
=
Above
;
while
(
wndPtr
)
{
if
(
!
IsRectEmpty
(
&
wndPtr
->
rectWindow
)
&&
get_whole_window
(
wndPtr
))
TSXReconfigureWMWindow
(
display
,
get_whole_window
(
wndPtr
),
0
,
CWStackMode
,
&
winChanges
);
wndPrev
=
wndPtr
->
parent
->
child
;
if
(
wndPrev
==
wndPtr
)
break
;
while
(
wndPrev
&&
(
wndPrev
->
next
!=
wndPtr
))
wndPrev
=
wndPrev
->
next
;
WIN_UpdateWndPtr
(
&
wndPtr
,
wndPrev
);
}
WIN_ReleaseWndPtr
(
wndPtr
);
}
dlls/x11drv/x11drv.spec
View file @
ed15fc7d
...
@@ -32,6 +32,7 @@ debug_channels (bitblt bitmap clipboard cursor dinput event font gdi graphics
...
@@ -32,6 +32,7 @@ debug_channels (bitblt bitmap clipboard cursor dinput event font gdi graphics
@ cdecl DestroyWindow(long) X11DRV_DestroyWindow
@ cdecl DestroyWindow(long) X11DRV_DestroyWindow
@ cdecl GetDC(long long long long) X11DRV_GetDC
@ cdecl GetDC(long long long long) X11DRV_GetDC
@ cdecl EnableWindow(long long) X11DRV_EnableWindow
@ cdecl EnableWindow(long long) X11DRV_EnableWindow
@ cdecl ForceWindowRaise(long) X11DRV_ForceWindowRaise
@ cdecl MsgWaitForMultipleObjectsEx(long ptr long long long) X11DRV_MsgWaitForMultipleObjectsEx
@ cdecl MsgWaitForMultipleObjectsEx(long ptr long long long) X11DRV_MsgWaitForMultipleObjectsEx
@ cdecl ScrollDC(long long long ptr ptr long ptr) X11DRV_ScrollDC
@ cdecl ScrollDC(long long long ptr ptr long ptr) X11DRV_ScrollDC
@ cdecl ScrollWindowEx(long long long ptr ptr long ptr long) X11DRV_ScrollWindowEx
@ cdecl ScrollWindowEx(long long long ptr ptr long ptr long) X11DRV_ScrollWindowEx
...
...
dlls/x11drv/x11drv_main.c
View file @
ed15fc7d
...
@@ -263,8 +263,6 @@ static void process_attach(void)
...
@@ -263,8 +263,6 @@ static void process_attach(void)
{
{
Display
*
display
;
Display
*
display
;
WND_Driver
=
&
X11DRV_WND_Driver
;
get_server_startup
();
get_server_startup
();
setup_options
();
setup_options
();
...
...
include/user.h
View file @
ed15fc7d
...
@@ -74,6 +74,7 @@ typedef struct tagUSER_DRIVER {
...
@@ -74,6 +74,7 @@ typedef struct tagUSER_DRIVER {
BOOL
(
*
pDestroyWindow
)(
HWND
);
BOOL
(
*
pDestroyWindow
)(
HWND
);
BOOL
(
*
pGetDC
)(
HWND
,
HDC
,
HRGN
,
DWORD
);
BOOL
(
*
pGetDC
)(
HWND
,
HDC
,
HRGN
,
DWORD
);
BOOL
(
*
pEnableWindow
)(
HWND
,
BOOL
);
BOOL
(
*
pEnableWindow
)(
HWND
,
BOOL
);
void
(
*
pForceWindowRaise
)(
HWND
);
DWORD
(
*
pMsgWaitForMultipleObjectsEx
)(
DWORD
,
const
HANDLE
*
,
DWORD
,
DWORD
,
DWORD
);
DWORD
(
*
pMsgWaitForMultipleObjectsEx
)(
DWORD
,
const
HANDLE
*
,
DWORD
,
DWORD
,
DWORD
);
BOOL
(
*
pScrollDC
)(
HDC
,
INT
,
INT
,
const
RECT
*
,
const
RECT
*
,
HRGN
,
LPRECT
);
BOOL
(
*
pScrollDC
)(
HDC
,
INT
,
INT
,
const
RECT
*
,
const
RECT
*
,
HRGN
,
LPRECT
);
INT
(
*
pScrollWindowEx
)(
HWND
,
INT
,
INT
,
const
RECT
*
,
const
RECT
*
,
HRGN
,
LPRECT
,
UINT
);
INT
(
*
pScrollWindowEx
)(
HWND
,
INT
,
INT
,
const
RECT
*
,
const
RECT
*
,
HRGN
,
LPRECT
,
UINT
);
...
...
include/win.h
View file @
ed15fc7d
...
@@ -19,7 +19,6 @@
...
@@ -19,7 +19,6 @@
struct
tagCLASS
;
struct
tagCLASS
;
struct
tagDCE
;
struct
tagDCE
;
struct
tagMESSAGEQUEUE
;
struct
tagMESSAGEQUEUE
;
struct
tagWND_DRIVER
;
typedef
struct
tagWND
typedef
struct
tagWND
{
{
...
@@ -40,7 +39,7 @@ typedef struct tagWND
...
@@ -40,7 +39,7 @@ typedef struct tagWND
void
*
pProp
;
/* Pointer to properties list */
void
*
pProp
;
/* Pointer to properties list */
struct
tagDCE
*
dce
;
/* Window DCE (if CS_OWNDC or CS_CLASSDC) */
struct
tagDCE
*
dce
;
/* Window DCE (if CS_OWNDC or CS_CLASSDC) */
HGLOBAL16
hmemTaskQ
;
/* Task queue global memory handle */
HGLOBAL16
hmemTaskQ
;
/* Task queue global memory handle */
HRGN
16
hrgnUpdate
;
/* Update region */
HRGN
hrgnUpdate
;
/* Update region */
HRGN
hrgnWnd
;
/* window's region */
HRGN
hrgnWnd
;
/* window's region */
HWND
hwndLastActive
;
/* Last active popup hwnd */
HWND
hwndLastActive
;
/* Last active popup hwnd */
DWORD
dwStyle
;
/* Window style (from CreateWindow) */
DWORD
dwStyle
;
/* Window style (from CreateWindow) */
...
@@ -48,23 +47,15 @@ typedef struct tagWND
...
@@ -48,23 +47,15 @@ typedef struct tagWND
DWORD
clsStyle
;
/* Class style at window creation */
DWORD
clsStyle
;
/* Class style at window creation */
UINT
wIDmenu
;
/* ID or hmenu (from CreateWindow) */
UINT
wIDmenu
;
/* ID or hmenu (from CreateWindow) */
DWORD
helpContext
;
/* Help context ID */
DWORD
helpContext
;
/* Help context ID */
WORD
flags
;
/* Misc. flags (see below) */
UINT
flags
;
/* Misc. flags (see below) */
HMENU16
hSysMenu
;
/* window's copy of System Menu */
HMENU16
hSysMenu
;
/* window's copy of System Menu */
int
cbWndExtra
;
/* class cbWndExtra at window creation */
int
cbWndExtra
;
/* class cbWndExtra at window creation */
int
irefCount
;
/* window's reference count*/
int
irefCount
;
/* window's reference count*/
DWORD
userdata
;
/* User private data */
DWORD
userdata
;
/* User private data */
struct
tagWND_DRIVER
*
pDriver
;
/* Window driver */
void
*
pDriverData
;
/* Window driver data */
void
*
pDriverData
;
/* Window driver data */
DWORD
wExtra
[
1
];
/* Window extra bytes */
DWORD
wExtra
[
1
];
/* Window extra bytes */
}
WND
;
}
WND
;
typedef
struct
tagWND_DRIVER
{
void
(
*
pForceWindowRaise
)(
WND
*
);
}
WND_DRIVER
;
extern
WND_DRIVER
*
WND_Driver
;
typedef
struct
typedef
struct
{
{
RECT16
rectNormal
;
RECT16
rectNormal
;
...
...
include/x11drv.h
View file @
ed15fc7d
...
@@ -386,10 +386,6 @@ extern void X11DRV_MoveCursor(WORD wAbsX, WORD wAbsY);
...
@@ -386,10 +386,6 @@ extern void X11DRV_MoveCursor(WORD wAbsX, WORD wAbsY);
extern
void
X11DRV_SendEvent
(
DWORD
mouseStatus
,
DWORD
posX
,
DWORD
posY
,
extern
void
X11DRV_SendEvent
(
DWORD
mouseStatus
,
DWORD
posX
,
DWORD
posY
,
WORD
keyState
,
DWORD
data
,
DWORD
time
,
HWND
hWnd
);
WORD
keyState
,
DWORD
data
,
DWORD
time
,
HWND
hWnd
);
/* X11 windows driver */
extern
struct
tagWND_DRIVER
X11DRV_WND_Driver
;
/* x11drv private window data */
/* x11drv private window data */
struct
x11drv_win_data
struct
x11drv_win_data
{
{
...
@@ -420,8 +416,6 @@ inline static Window get_whole_window( WND *wnd )
...
@@ -420,8 +416,6 @@ inline static Window get_whole_window( WND *wnd )
return
data
->
whole_window
;
return
data
->
whole_window
;
}
}
extern
void
X11DRV_WND_ForceWindowRaise
(
struct
tagWND
*
pWnd
);
extern
void
X11DRV_SetFocus
(
HWND
hwnd
);
extern
void
X11DRV_SetFocus
(
HWND
hwnd
);
extern
Cursor
X11DRV_GetCursor
(
Display
*
display
,
struct
tagCURSORICONINFO
*
ptr
);
extern
Cursor
X11DRV_GetCursor
(
Display
*
display
,
struct
tagCURSORICONINFO
*
ptr
);
...
...
windows/win.c
View file @
ed15fc7d
...
@@ -29,8 +29,6 @@ DECLARE_DEBUG_CHANNEL(msg);
...
@@ -29,8 +29,6 @@ DECLARE_DEBUG_CHANNEL(msg);
/**********************************************************************/
/**********************************************************************/
WND_DRIVER
*
WND_Driver
=
NULL
;
/* Desktop window */
/* Desktop window */
static
WND
*
pWndDesktop
=
NULL
;
static
WND
*
pWndDesktop
=
NULL
;
...
@@ -539,7 +537,6 @@ BOOL WIN_CreateDesktopWindow(void)
...
@@ -539,7 +537,6 @@ BOOL WIN_CreateDesktopWindow(void)
if
(
!
hwndDesktop
)
return
FALSE
;
if
(
!
hwndDesktop
)
return
FALSE
;
pWndDesktop
=
(
WND
*
)
USER_HEAP_LIN_ADDR
(
hwndDesktop
);
pWndDesktop
=
(
WND
*
)
USER_HEAP_LIN_ADDR
(
hwndDesktop
);
pWndDesktop
->
pDriver
=
WND_Driver
;
pWndDesktop
->
next
=
NULL
;
pWndDesktop
->
next
=
NULL
;
pWndDesktop
->
child
=
NULL
;
pWndDesktop
->
child
=
NULL
;
pWndDesktop
->
parent
=
NULL
;
pWndDesktop
->
parent
=
NULL
;
...
@@ -747,8 +744,6 @@ static HWND WIN_CreateWindowEx( CREATESTRUCTA *cs, ATOM classAtom,
...
@@ -747,8 +744,6 @@ static HWND WIN_CreateWindowEx( CREATESTRUCTA *cs, ATOM classAtom,
}
}
wndPtr
->
pDriver
=
wndPtr
->
parent
->
pDriver
;
wndPtr
->
class
=
classPtr
;
wndPtr
->
class
=
classPtr
;
wndPtr
->
winproc
=
winproc
;
wndPtr
->
winproc
=
winproc
;
wndPtr
->
dwMagic
=
WND_MAGIC
;
wndPtr
->
dwMagic
=
WND_MAGIC
;
...
...
windows/winpos.c
View file @
ed15fc7d
...
@@ -1655,7 +1655,9 @@ BOOL WINPOS_SetActiveWindow( HWND hWnd, BOOL fMouse, BOOL fChangeFocus)
...
@@ -1655,7 +1655,9 @@ BOOL WINPOS_SetActiveWindow( HWND hWnd, BOOL fMouse, BOOL fChangeFocus)
}
}
if
(
!
hwndPrevActive
&&
wndPtr
)
if
(
!
hwndPrevActive
&&
wndPtr
)
(
*
wndPtr
->
pDriver
->
pForceWindowRaise
)(
wndPtr
);
{
if
(
USER_Driver
.
pForceWindowRaise
)
USER_Driver
.
pForceWindowRaise
(
wndPtr
->
hwndSelf
);
}
/* if active wnd is minimized redraw icon title */
/* if active wnd is minimized redraw icon title */
if
(
IsIconic
(
hwndActive
)
)
WINPOS_RedrawIconTitle
(
hwndActive
);
if
(
IsIconic
(
hwndActive
)
)
WINPOS_RedrawIconTitle
(
hwndActive
);
...
...
windows/x11drv/Makefile.in
View file @
ed15fc7d
...
@@ -9,8 +9,7 @@ C_SRCS = \
...
@@ -9,8 +9,7 @@ C_SRCS = \
clipboard.c
\
clipboard.c
\
event.c
\
event.c
\
keyboard.c
\
keyboard.c
\
mouse.c
\
mouse.c
wnd.c
PROGRAMS
=
wineclipsrv
PROGRAMS
=
wineclipsrv
...
...
windows/x11drv/wnd.c
deleted
100644 → 0
View file @
b9bd3f81
/*
* X11 windows driver
*
* Copyright 1993, 1994, 1995, 1996 Alexandre Julliard
* 1993 David Metcalfe
* 1995, 1996 Alex Korobka
*/
#include "config.h"
#include <X11/Xatom.h>
#include "ts_xlib.h"
#include "ts_xutil.h"
#include "ts_shape.h"
#include <stdlib.h>
#include <string.h>
#include "bitmap.h"
#include "debugtools.h"
#include "gdi.h"
#include "options.h"
#include "message.h"
#include "win.h"
#include "windef.h"
#include "x11drv.h"
#include "wingdi.h"
#include "winnls.h"
#include "wine/winuser16.h"
DEFAULT_DEBUG_CHANNEL
(
win
);
extern
Atom
wmChangeState
;
#define HAS_DLGFRAME(style,exStyle) \
((!((style) & WS_THICKFRAME)) && (((style) & WS_DLGFRAME) || ((exStyle) & WS_EX_DLGMODALFRAME)))
/**********************************************************************/
WND_DRIVER
X11DRV_WND_Driver
=
{
X11DRV_WND_ForceWindowRaise
};
/***********************************************************************
* X11DRV_WND_IsZeroSizeWnd
*
* Return TRUE if the window has a height or widht less or equal to 0
*/
static
BOOL
X11DRV_WND_IsZeroSizeWnd
(
WND
*
wndPtr
)
{
if
(
(
wndPtr
->
rectWindow
.
left
>=
wndPtr
->
rectWindow
.
right
)
||
(
wndPtr
->
rectWindow
.
top
>=
wndPtr
->
rectWindow
.
bottom
)
)
return
TRUE
;
else
return
FALSE
;
}
/***********************************************************************
* X11DRV_WND_ForceWindowRaise
*
* Raise a window on top of the X stacking order, while preserving
* the correct Windows Z order.
*/
void
X11DRV_WND_ForceWindowRaise
(
WND
*
wndPtr
)
{
XWindowChanges
winChanges
;
WND
*
wndPrev
,
*
pDesktop
=
WIN_GetDesktop
();
if
(
X11DRV_WND_IsZeroSizeWnd
(
wndPtr
))
{
WIN_ReleaseDesktop
();
return
;
}
if
(
!
wndPtr
||
!
get_whole_window
(
wndPtr
)
||
(
wndPtr
->
dwExStyle
&
WS_EX_MANAGED
)
)
{
WIN_ReleaseDesktop
();
return
;
}
/* Raise all windows up to wndPtr according to their Z order.
* (it would be easier with sibling-related Below but it doesn't
* work very well with SGI mwm for instance)
*/
winChanges
.
stack_mode
=
Above
;
while
(
wndPtr
)
{
if
(
!
X11DRV_WND_IsZeroSizeWnd
(
wndPtr
)
&&
get_whole_window
(
wndPtr
)
)
TSXReconfigureWMWindow
(
thread_display
(),
get_whole_window
(
wndPtr
),
0
,
CWStackMode
,
&
winChanges
);
wndPrev
=
pDesktop
->
child
;
if
(
wndPrev
==
wndPtr
)
break
;
while
(
wndPrev
&&
(
wndPrev
->
next
!=
wndPtr
))
wndPrev
=
wndPrev
->
next
;
wndPtr
=
wndPrev
;
}
WIN_ReleaseDesktop
();
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment