Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
dc6f39ac
Commit
dc6f39ac
authored
Aug 27, 2018
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
server: Use screen coordinates in the update_window_zorder request.
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
2068b73d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
14 additions
and
22 deletions
+14
-22
window.c
dlls/wineandroid.drv/window.c
+0
-3
mouse.c
dlls/winemac.drv/mouse.c
+4
-9
event.c
dlls/winex11.drv/event.c
+7
-5
mouse.c
dlls/winex11.drv/mouse.c
+0
-1
window.c
server/window.c
+3
-4
No files found.
dlls/wineandroid.drv/window.c
View file @
dc6f39ac
...
...
@@ -491,7 +491,6 @@ static int process_events( DWORD mask )
{
HWND
capture
=
get_capture_window
();
context
=
SetThreadDpiAwarenessContext
(
DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE
);
if
(
event
->
data
.
motion
.
input
.
u
.
mi
.
dwFlags
&
(
MOUSEEVENTF_LEFTDOWN
|
MOUSEEVENTF_RIGHTDOWN
|
MOUSEEVENTF_MIDDLEDOWN
))
TRACE
(
"BUTTONDOWN pos %d,%d hwnd %p flags %x
\n
"
,
event
->
data
.
motion
.
input
.
u
.
mi
.
dx
,
event
->
data
.
motion
.
input
.
u
.
mi
.
dy
,
...
...
@@ -509,7 +508,6 @@ static int process_events( DWORD mask )
RECT
rect
;
SetRect
(
&
rect
,
event
->
data
.
motion
.
input
.
u
.
mi
.
dx
,
event
->
data
.
motion
.
input
.
u
.
mi
.
dy
,
event
->
data
.
motion
.
input
.
u
.
mi
.
dx
+
1
,
event
->
data
.
motion
.
input
.
u
.
mi
.
dy
+
1
);
MapWindowPoints
(
0
,
event
->
data
.
motion
.
hwnd
,
(
POINT
*
)
&
rect
,
2
);
SERVER_START_REQ
(
update_window_zorder
)
{
...
...
@@ -523,7 +521,6 @@ static int process_events( DWORD mask )
SERVER_END_REQ
;
}
__wine_send_input
(
capture
?
capture
:
event
->
data
.
motion
.
hwnd
,
&
event
->
data
.
motion
.
input
);
SetThreadDpiAwarenessContext
(
context
);
}
break
;
...
...
dlls/winemac.drv/mouse.c
View file @
dc6f39ac
...
...
@@ -144,19 +144,14 @@ static void send_mouse_input(HWND hwnd, macdrv_window cocoa_window, UINT flags,
if
((
flags
&
MOUSEEVENTF_MOVE
)
&&
(
flags
&
MOUSEEVENTF_ABSOLUTE
)
&&
!
drag
&&
cocoa_window
!=
macdrv_thread_data
()
->
capture_window
)
{
RECT
rect
;
/* update the wine server Z-order */
SetRect
(
&
rect
,
x
,
y
,
x
+
1
,
y
+
1
);
MapWindowPoints
(
0
,
top_level_hwnd
,
(
POINT
*
)
&
rect
,
2
);
SERVER_START_REQ
(
update_window_zorder
)
{
req
->
window
=
wine_server_user_handle
(
top_level_hwnd
);
req
->
rect
.
left
=
rect
.
left
;
req
->
rect
.
top
=
rect
.
top
;
req
->
rect
.
right
=
rect
.
right
;
req
->
rect
.
bottom
=
rect
.
bottom
;
req
->
rect
.
left
=
x
;
req
->
rect
.
top
=
y
;
req
->
rect
.
right
=
x
+
1
;
req
->
rect
.
bottom
=
y
+
1
;
wine_server_call
(
req
);
}
SERVER_END_REQ
;
...
...
dlls/winex11.drv/event.c
View file @
dc6f39ac
...
...
@@ -858,7 +858,7 @@ static BOOL X11DRV_FocusOut( HWND hwnd, XEvent *xev )
static
BOOL
X11DRV_Expose
(
HWND
hwnd
,
XEvent
*
xev
)
{
XExposeEvent
*
event
=
&
xev
->
xexpose
;
RECT
rect
;
RECT
rect
,
abs_rect
;
POINT
pos
;
struct
x11drv_win_data
*
data
;
HRGN
surface_region
=
0
;
...
...
@@ -901,14 +901,16 @@ static BOOL X11DRV_Expose( HWND hwnd, XEvent *xev )
{
if
(
GetWindowLongW
(
data
->
hwnd
,
GWL_EXSTYLE
)
&
WS_EX_LAYOUTRTL
)
mirror_rect
(
&
data
->
client_rect
,
&
rect
);
abs_rect
=
rect
;
MapWindowPoints
(
hwnd
,
0
,
(
POINT
*
)
&
abs_rect
,
2
);
SERVER_START_REQ
(
update_window_zorder
)
{
req
->
window
=
wine_server_user_handle
(
hwnd
);
req
->
rect
.
left
=
rect
.
left
;
req
->
rect
.
top
=
rect
.
top
;
req
->
rect
.
right
=
rect
.
right
;
req
->
rect
.
bottom
=
rect
.
bottom
;
req
->
rect
.
left
=
abs_
rect
.
left
;
req
->
rect
.
top
=
abs_
rect
.
top
;
req
->
rect
.
right
=
abs_
rect
.
right
;
req
->
rect
.
bottom
=
abs_
rect
.
bottom
;
wine_server_call
(
req
);
}
SERVER_END_REQ
;
...
...
dlls/winex11.drv/mouse.c
View file @
dc6f39ac
...
...
@@ -627,7 +627,6 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU
{
RECT
rect
;
SetRect
(
&
rect
,
pt
.
x
,
pt
.
y
,
pt
.
x
+
1
,
pt
.
y
+
1
);
MapWindowPoints
(
0
,
hwnd
,
(
POINT
*
)
&
rect
,
2
);
SERVER_START_REQ
(
update_window_zorder
)
{
...
...
server/window.c
View file @
dc6f39ac
...
...
@@ -2652,8 +2652,6 @@ DECL_HANDLER(update_window_zorder)
struct
window
*
ptr
,
*
win
=
get_window
(
req
->
window
);
if
(
!
win
||
!
win
->
parent
||
!
is_visible
(
win
))
return
;
/* nothing to do */
if
(
win
->
ex_style
&
WS_EX_LAYOUTRTL
)
mirror_rect
(
&
win
->
client_rect
,
&
rect
);
offset_rect
(
&
rect
,
win
->
client_rect
.
left
,
win
->
client_rect
.
top
);
LIST_FOR_EACH_ENTRY
(
ptr
,
&
win
->
parent
->
children
,
struct
window
,
entry
)
{
...
...
@@ -2661,10 +2659,11 @@ DECL_HANDLER(update_window_zorder)
if
(
!
(
ptr
->
style
&
WS_VISIBLE
))
continue
;
if
(
ptr
->
ex_style
&
WS_EX_TRANSPARENT
)
continue
;
if
(
ptr
->
is_layered
&&
(
ptr
->
layered_flags
&
LWA_COLORKEY
))
continue
;
if
(
!
intersect_rect
(
&
tmp
,
&
ptr
->
visible_rect
,
&
rect
))
continue
;
tmp
=
rect
;
map_dpi_rect
(
win
,
&
tmp
,
win
->
parent
->
dpi
,
win
->
dpi
);
if
(
!
intersect_rect
(
&
tmp
,
&
tmp
,
&
ptr
->
visible_rect
))
continue
;
if
(
ptr
->
win_region
)
{
tmp
=
rect
;
offset_rect
(
&
tmp
,
-
ptr
->
window_rect
.
left
,
-
ptr
->
window_rect
.
top
);
if
(
!
rect_in_region
(
ptr
->
win_region
,
&
tmp
))
continue
;
}
...
...
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