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
5787c12b
Commit
5787c12b
authored
Mar 24, 2008
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
winex11: Setting window z-order using a sibling doesn't work with some window managers.
So let's see what happens if we don't set z-order at all in that case.
parent
63504e9e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
16 deletions
+4
-16
window.c
dlls/winex11.drv/window.c
+4
-16
No files found.
dlls/winex11.drv/window.c
View file @
5787c12b
...
@@ -1048,20 +1048,8 @@ void X11DRV_sync_window_position( Display *display, struct x11drv_win_data *data
...
@@ -1048,20 +1048,8 @@ void X11DRV_sync_window_position( Display *display, struct x11drv_win_data *data
changes
.
stack_mode
=
Above
;
changes
.
stack_mode
=
Above
;
mask
|=
CWStackMode
;
mask
|=
CWStackMode
;
}
}
else
/* should use stack_mode Below but most window managers don't get it right */
{
/* and Above with a sibling doesn't work so well either, so we ignore it */
/* should use stack_mode Below but most window managers don't get it right */
/* so move it above the next one in Z order */
HWND
next
=
GetWindow
(
data
->
hwnd
,
GW_HWNDNEXT
);
while
(
next
&&
!
(
GetWindowLongW
(
next
,
GWL_STYLE
)
&
WS_VISIBLE
))
next
=
GetWindow
(
next
,
GW_HWNDNEXT
);
if
(
next
)
{
changes
.
stack_mode
=
Above
;
changes
.
sibling
=
X11DRV_get_whole_window
(
next
);
mask
|=
CWStackMode
|
CWSibling
;
}
}
}
}
/* only the size is allowed to change for the desktop window */
/* only the size is allowed to change for the desktop window */
...
@@ -1071,8 +1059,8 @@ void X11DRV_sync_window_position( Display *display, struct x11drv_win_data *data
...
@@ -1071,8 +1059,8 @@ void X11DRV_sync_window_position( Display *display, struct x11drv_win_data *data
{
{
DWORD
style
=
GetWindowLongW
(
data
->
hwnd
,
GWL_STYLE
);
DWORD
style
=
GetWindowLongW
(
data
->
hwnd
,
GWL_STYLE
);
TRACE
(
"setting win %lx pos %d,%d,%dx%d after %lx changes=%x
\n
"
,
TRACE
(
"setting win %
p/%
lx pos %d,%d,%dx%d after %lx changes=%x
\n
"
,
data
->
whole_window
,
data
->
whole_rect
.
left
,
data
->
whole_rect
.
top
,
data
->
hwnd
,
data
->
whole_window
,
data
->
whole_rect
.
left
,
data
->
whole_rect
.
top
,
data
->
whole_rect
.
right
-
data
->
whole_rect
.
left
,
data
->
whole_rect
.
right
-
data
->
whole_rect
.
left
,
data
->
whole_rect
.
bottom
-
data
->
whole_rect
.
top
,
changes
.
sibling
,
mask
);
data
->
whole_rect
.
bottom
-
data
->
whole_rect
.
top
,
changes
.
sibling
,
mask
);
...
...
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