You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-12-15 08:03:15 -08:00
Rebase against 7de36f8e98b2cbbdcc360bdba96a5fe83e815d1a.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 34322692c54f01a228cdab8419283e5e15fd55b1 Mon Sep 17 00:00:00 2001
|
||||
From 4fb0e8d596496359484426d726a929ff8acf2e21 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Thu, 23 Jan 2020 11:00:19 +0100
|
||||
Subject: [PATCH] winex11.drv: Support XInput2 events for individual windows.
|
||||
@@ -14,10 +14,10 @@ which can bring additional information.
|
||||
5 files changed, 65 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/desktop.c b/dlls/winex11.drv/desktop.c
|
||||
index 61fe5578e8b..c601d935df1 100644
|
||||
index c335bc5ba2b..3523e9c843c 100644
|
||||
--- a/dlls/winex11.drv/desktop.c
|
||||
+++ b/dlls/winex11.drv/desktop.c
|
||||
@@ -358,6 +358,7 @@ NTSTATUS x11drv_create_desktop( void *arg )
|
||||
@@ -359,6 +359,7 @@ NTSTATUS x11drv_create_desktop( void *arg )
|
||||
0, 0, params->width, params->height, 0, default_visual.depth, InputOutput,
|
||||
default_visual.visual, CWEventMask | CWCursor | CWColormap, &win_attr );
|
||||
if (!win) return FALSE;
|
||||
@@ -26,7 +26,7 @@ index 61fe5578e8b..c601d935df1 100644
|
||||
|
||||
X11DRV_init_desktop( win, params->width, params->height );
|
||||
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
|
||||
index c0232eef256..8f98676d9cf 100644
|
||||
index a321e324a24..dec32ec963a 100644
|
||||
--- a/dlls/winex11.drv/event.c
|
||||
+++ b/dlls/winex11.drv/event.c
|
||||
@@ -239,6 +239,13 @@ static Bool filter_event( Display *display, XEvent *event, char *arg )
|
||||
@@ -44,7 +44,7 @@ index c0232eef256..8f98676d9cf 100644
|
||||
case MotionNotify:
|
||||
case EnterNotify:
|
||||
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
|
||||
index 826b8d20f69..2c8919e8c3d 100644
|
||||
index eee737a1e40..bf67d6b727f 100644
|
||||
--- a/dlls/winex11.drv/mouse.c
|
||||
+++ b/dlls/winex11.drv/mouse.c
|
||||
@@ -304,20 +304,32 @@ void x11drv_xinput_init(void)
|
||||
@@ -172,7 +172,7 @@ index 826b8d20f69..2c8919e8c3d 100644
|
||||
{
|
||||
- disable_xinput2();
|
||||
+ x11drv_xinput_disable( data->display, DefaultRootWindow( data->display ), PointerMotionMask );
|
||||
DestroyWindow( msg_hwnd );
|
||||
NtUserDestroyWindow( msg_hwnd );
|
||||
return FALSE;
|
||||
}
|
||||
@@ -530,7 +557,7 @@ LRESULT clip_cursor_notify( HWND hwnd, HWND prev_clip_hwnd, HWND new_clip_hwnd )
|
||||
@@ -185,10 +185,10 @@ index 826b8d20f69..2c8919e8c3d 100644
|
||||
}
|
||||
else if (prev_clip_hwnd)
|
||||
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
|
||||
index 338796e99e1..6f4c2cabd7d 100644
|
||||
index b9450911abc..4c7faeac969 100644
|
||||
--- a/dlls/winex11.drv/window.c
|
||||
+++ b/dlls/winex11.drv/window.c
|
||||
@@ -353,6 +353,7 @@ static void sync_window_style( struct x11drv_win_data *data )
|
||||
@@ -358,6 +358,7 @@ static void sync_window_style( struct x11drv_win_data *data )
|
||||
int mask = get_window_attributes( data, &attr );
|
||||
|
||||
XChangeWindowAttributes( data->display, data->whole_window, mask, &attr );
|
||||
@@ -196,7 +196,7 @@ index 338796e99e1..6f4c2cabd7d 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1588,6 +1589,7 @@ static void create_whole_window( struct x11drv_win_data *data )
|
||||
@@ -1593,6 +1594,7 @@ static void create_whole_window( struct x11drv_win_data *data )
|
||||
data->vis.visual, mask, &attr );
|
||||
if (!data->whole_window) goto done;
|
||||
|
||||
@@ -204,16 +204,16 @@ index 338796e99e1..6f4c2cabd7d 100644
|
||||
set_initial_wm_hints( data->display, data->whole_window );
|
||||
set_wm_hints( data );
|
||||
|
||||
@@ -1902,6 +1904,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd )
|
||||
@@ -1907,6 +1909,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd )
|
||||
data->clip_window = XCreateWindow( data->display, root_window, 0, 0, 1, 1, 0, 0,
|
||||
InputOnly, default_visual.visual,
|
||||
CWOverrideRedirect | CWEventMask, &attr );
|
||||
+ x11drv_xinput_enable( data->display, data->clip_window, attr.event_mask );
|
||||
XFlush( data->display );
|
||||
NtUserSetProp( hwnd, clip_window_prop, (HANDLE)data->clip_window );
|
||||
X11DRV_InitClipboard();
|
||||
x11drv_client_call( client_clipboard_init, 0 );
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index 5fb2e672938..502b302993a 100644
|
||||
index d92a235f889..82540cab507 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -253,6 +253,8 @@ extern void X11DRV_ThreadDetach(void) DECLSPEC_HIDDEN;
|
||||
@@ -225,7 +225,7 @@ index 5fb2e672938..502b302993a 100644
|
||||
|
||||
extern DWORD copy_image_bits( BITMAPINFO *info, BOOL is_r8g8b8, XImage *image,
|
||||
const struct gdi_image_bits *src_bits, struct gdi_image_bits *dst_bits,
|
||||
@@ -374,6 +376,14 @@ struct x11drv_escape_flush_gl_drawable
|
||||
@@ -359,6 +361,14 @@ struct x11drv_escape_flush_gl_drawable
|
||||
* X11 USER driver
|
||||
*/
|
||||
|
||||
@@ -240,7 +240,7 @@ index 5fb2e672938..502b302993a 100644
|
||||
struct x11drv_thread_data
|
||||
{
|
||||
Display *display;
|
||||
@@ -390,7 +400,7 @@ struct x11drv_thread_data
|
||||
@@ -375,7 +385,7 @@ struct x11drv_thread_data
|
||||
HWND clip_hwnd; /* message window stored in desktop while clipping is active */
|
||||
DWORD clip_reset; /* time when clipping was last reset */
|
||||
#ifdef HAVE_X11_EXTENSIONS_XINPUT2_H
|
||||
|
||||
Reference in New Issue
Block a user