You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against fcddf19498fca9b51baea705f5748b998f4560b9.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From e25ad836af126afcff4cdc12dbebb410722806dd Mon Sep 17 00:00:00 2001
|
||||
From 1061a45af693c2cb526a3d83209397b483346b47 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Fri, 17 Jan 2020 16:33:11 +0100
|
||||
Subject: [PATCH] winex11.drv: Split XInput2 thread initialization.
|
||||
@@ -6,12 +6,12 @@ Subject: [PATCH] winex11.drv: Split XInput2 thread initialization.
|
||||
And rename the library and function loader to x11drv_xinput_load.
|
||||
---
|
||||
dlls/winex11.drv/mouse.c | 46 +++++++++++++++++++++++-----------
|
||||
dlls/winex11.drv/x11drv.h | 3 ++-
|
||||
dlls/winex11.drv/x11drv.h | 4 +--
|
||||
dlls/winex11.drv/x11drv_main.c | 4 ++-
|
||||
3 files changed, 36 insertions(+), 17 deletions(-)
|
||||
3 files changed, 36 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
|
||||
index 3ddcf609549..a28746b9aef 100644
|
||||
index 612fff9995c..911e93d8de1 100644
|
||||
--- a/dlls/winex11.drv/mouse.c
|
||||
+++ b/dlls/winex11.drv/mouse.c
|
||||
@@ -253,6 +253,32 @@ static void update_relative_valuators(XIAnyClassInfo **valuators, int n_valuator
|
||||
@@ -80,7 +80,7 @@ index 3ddcf609549..a28746b9aef 100644
|
||||
data->xi2_state = xi_disabled;
|
||||
|
||||
mask.mask = NULL;
|
||||
@@ -1753,9 +1769,9 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
|
||||
@@ -1755,9 +1771,9 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
@@ -93,21 +93,22 @@ index 3ddcf609549..a28746b9aef 100644
|
||||
#if defined(SONAME_LIBXI) && defined(HAVE_X11_EXTENSIONS_XINPUT2_H)
|
||||
int event, error;
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index 9ee6498a02e..16fc2843880 100644
|
||||
index 2917579927c..050008d2bfb 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -261,7 +261,8 @@ extern void X11DRV_ThreadDetach(void) DECLSPEC_HIDDEN;
|
||||
@@ -260,8 +260,8 @@ extern void X11DRV_ThreadDetach(void);
|
||||
|
||||
/* X11 driver internal functions */
|
||||
|
||||
extern void X11DRV_Xcursor_Init(void) DECLSPEC_HIDDEN;
|
||||
-extern void X11DRV_XInput2_Init(void) DECLSPEC_HIDDEN;
|
||||
+extern void x11drv_xinput_load(void) DECLSPEC_HIDDEN;
|
||||
+extern void x11drv_xinput_init(void) DECLSPEC_HIDDEN;
|
||||
-extern void X11DRV_Xcursor_Init(void);
|
||||
-extern void X11DRV_XInput2_Init(void);
|
||||
+extern void x11drv_xinput_load(void);
|
||||
+extern void x11drv_xinput_init(void);
|
||||
|
||||
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,
|
||||
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
|
||||
index c4d537d6ada..fc341c32f77 100644
|
||||
index 32a20e0e4f2..573a41bbe96 100644
|
||||
--- a/dlls/winex11.drv/x11drv_main.c
|
||||
+++ b/dlls/winex11.drv/x11drv_main.c
|
||||
@@ -700,7 +700,7 @@ static NTSTATUS x11drv_init( void *arg )
|
||||
@@ -129,5 +130,5 @@ index c4d537d6ada..fc341c32f77 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.40.1
|
||||
2.42.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 5c869c2c59231cd9028d35511259618339c1a8fe Mon Sep 17 00:00:00 2001
|
||||
From 3c844a24ee63c1fac2db8a1f99ea11db4a118213 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.
|
||||
@@ -27,7 +27,7 @@ index 687c0cf5a4c..01bd6a1b74a 100644
|
||||
|
||||
X11DRV_init_desktop( win, width, height );
|
||||
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
|
||||
index c3c8d9a4070..f6d9041ca65 100644
|
||||
index 97bec34b0ea..d2de3c53d79 100644
|
||||
--- a/dlls/winex11.drv/event.c
|
||||
+++ b/dlls/winex11.drv/event.c
|
||||
@@ -235,6 +235,13 @@ static Bool filter_event( Display *display, XEvent *event, char *arg )
|
||||
@@ -45,7 +45,7 @@ index c3c8d9a4070..f6d9041ca65 100644
|
||||
case MotionNotify:
|
||||
case EnterNotify:
|
||||
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
|
||||
index a28746b9aef..f11e73f436b 100644
|
||||
index 911e93d8de1..820126a2c48 100644
|
||||
--- a/dlls/winex11.drv/mouse.c
|
||||
+++ b/dlls/winex11.drv/mouse.c
|
||||
@@ -280,20 +280,32 @@ void x11drv_xinput_init(void)
|
||||
@@ -186,7 +186,7 @@ index a28746b9aef..f11e73f436b 100644
|
||||
|
||||
/***********************************************************************
|
||||
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
|
||||
index ed3728773af..f043e64047e 100644
|
||||
index 53982bb8c3b..c2d7e850656 100644
|
||||
--- a/dlls/winex11.drv/window.c
|
||||
+++ b/dlls/winex11.drv/window.c
|
||||
@@ -362,6 +362,7 @@ static void sync_window_style( struct x11drv_win_data *data )
|
||||
@@ -197,7 +197,7 @@ index ed3728773af..f043e64047e 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1665,6 +1666,7 @@ static void create_whole_window( struct x11drv_win_data *data )
|
||||
@@ -1680,6 +1681,7 @@ static void create_whole_window( struct x11drv_win_data *data )
|
||||
data->vis.visual, mask, &attr );
|
||||
if (!data->whole_window) goto done;
|
||||
|
||||
@@ -205,7 +205,7 @@ index ed3728773af..f043e64047e 100644
|
||||
set_initial_wm_hints( data->display, data->whole_window );
|
||||
set_wm_hints( data );
|
||||
|
||||
@@ -2003,6 +2005,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd )
|
||||
@@ -2018,6 +2020,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 );
|
||||
@@ -214,19 +214,19 @@ index ed3728773af..f043e64047e 100644
|
||||
NtUserSetProp( hwnd, clip_window_prop, (HANDLE)data->clip_window );
|
||||
X11DRV_DisplayDevices_RegisterEventHandlers();
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index 16fc2843880..e8cc85a15bd 100644
|
||||
index 050008d2bfb..f087eccd35b 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -263,6 +263,8 @@ extern void X11DRV_ThreadDetach(void) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_Xcursor_Init(void) DECLSPEC_HIDDEN;
|
||||
extern void x11drv_xinput_load(void) DECLSPEC_HIDDEN;
|
||||
extern void x11drv_xinput_init(void) DECLSPEC_HIDDEN;
|
||||
+extern void x11drv_xinput_enable( Display *display, Window window, long event_mask ) DECLSPEC_HIDDEN;
|
||||
+extern void x11drv_xinput_disable( Display *display, Window window, long event_mask ) DECLSPEC_HIDDEN;
|
||||
@@ -262,6 +262,8 @@ extern void X11DRV_ThreadDetach(void);
|
||||
|
||||
extern void x11drv_xinput_load(void);
|
||||
extern void x11drv_xinput_init(void);
|
||||
+extern void x11drv_xinput_enable( Display *display, Window window, long event_mask );
|
||||
+extern void x11drv_xinput_disable( Display *display, Window window, long event_mask );
|
||||
|
||||
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,
|
||||
@@ -377,6 +379,14 @@ struct x11drv_escape_flush_gl_drawable
|
||||
@@ -376,6 +378,14 @@ struct x11drv_escape_flush_gl_drawable
|
||||
* X11 USER driver
|
||||
*/
|
||||
|
||||
@@ -251,5 +251,5 @@ index 16fc2843880..e8cc85a15bd 100644
|
||||
int xi2_device_count;
|
||||
XIValuatorClassInfo x_valuator;
|
||||
--
|
||||
2.40.1
|
||||
2.42.0
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From 1d38a722177d02eb836ff8f9aa9857d00e6a7ab8 Mon Sep 17 00:00:00 2001
|
||||
From 7fcbbbd139dc8504ca084e468afc436cfaee6ef1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Thu, 19 Dec 2019 22:34:44 +0100
|
||||
Subject: [PATCH] winex11.drv: Keep track of pointer and device button
|
||||
@@ -16,10 +16,10 @@ Original patch by Andrew Eikum <aeikum@codeweavers.com>.
|
||||
4 files changed, 106 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
|
||||
index b240b228ff0..b54ca795954 100644
|
||||
index 5c7f6c37276..674d8d6db58 100644
|
||||
--- a/dlls/winex11.drv/keyboard.c
|
||||
+++ b/dlls/winex11.drv/keyboard.c
|
||||
@@ -1809,13 +1809,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
|
||||
@@ -1848,13 +1848,24 @@ BOOL X11DRV_MappingNotify( HWND dummy, XEvent *event )
|
||||
{
|
||||
HWND hwnd;
|
||||
|
||||
@@ -51,7 +51,7 @@ index b240b228ff0..b54ca795954 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
|
||||
index ff91aecb67f..33f6ac24af8 100644
|
||||
index ab89f32a8a2..75d961423ba 100644
|
||||
--- a/dlls/winex11.drv/mouse.c
|
||||
+++ b/dlls/winex11.drv/mouse.c
|
||||
@@ -30,6 +30,9 @@
|
||||
@@ -150,7 +150,7 @@ index ff91aecb67f..33f6ac24af8 100644
|
||||
#ifdef HAVE_X11_EXTENSIONS_XINPUT2_H
|
||||
/***********************************************************************
|
||||
* update_relative_valuators
|
||||
@@ -1675,6 +1750,8 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev )
|
||||
@@ -1677,6 +1752,8 @@ static BOOL X11DRV_DeviceChanged( XGenericEventCookie *xev )
|
||||
if (event->reason != XISlaveSwitch) return FALSE;
|
||||
|
||||
update_relative_valuators( event->classes, event->num_classes );
|
||||
@@ -159,7 +159,7 @@ index ff91aecb67f..33f6ac24af8 100644
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -1762,13 +1839,12 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
|
||||
@@ -1764,13 +1841,12 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev )
|
||||
|
||||
#endif /* HAVE_X11_EXTENSIONS_XINPUT2_H */
|
||||
|
||||
@@ -174,7 +174,7 @@ index ff91aecb67f..33f6ac24af8 100644
|
||||
int event, error;
|
||||
void *libxi_handle = dlopen( SONAME_LIBXI, RTLD_NOW );
|
||||
|
||||
@@ -1784,11 +1860,20 @@ void x11drv_xinput_load(void)
|
||||
@@ -1786,11 +1862,20 @@ void x11drv_xinput_load(void)
|
||||
return; \
|
||||
}
|
||||
|
||||
@@ -196,19 +196,19 @@ index ff91aecb67f..33f6ac24af8 100644
|
||||
|
||||
xinput2_available = XQueryExtension( gdi_display, "XInputExtension", &xinput2_opcode, &event, &error );
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index fc3231ed40d..8bbac23f88e 100644
|
||||
index 4d94f042ee1..7ad685dfafb 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -691,6 +691,7 @@ extern void retry_grab_clipping_window(void) DECLSPEC_HIDDEN;
|
||||
extern void ungrab_clipping_window(void) DECLSPEC_HIDDEN;
|
||||
extern void move_resize_window( HWND hwnd, int dir ) DECLSPEC_HIDDEN;
|
||||
extern void X11DRV_InitKeyboard( Display *display ) DECLSPEC_HIDDEN;
|
||||
+extern void X11DRV_InitMouse( Display *display ) DECLSPEC_HIDDEN;
|
||||
extern BOOL X11DRV_ProcessEvents( DWORD mask ) DECLSPEC_HIDDEN;
|
||||
extern HWND *build_hwnd_list(void) DECLSPEC_HIDDEN;
|
||||
@@ -692,6 +692,7 @@ extern void retry_grab_clipping_window(void);
|
||||
extern void ungrab_clipping_window(void);
|
||||
extern void move_resize_window( HWND hwnd, int dir );
|
||||
extern void X11DRV_InitKeyboard( Display *display );
|
||||
+extern void X11DRV_InitMouse( Display *display );
|
||||
extern BOOL X11DRV_ProcessEvents( DWORD mask );
|
||||
extern HWND *build_hwnd_list(void);
|
||||
|
||||
diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c
|
||||
index fc341c32f77..b0e306e3ac8 100644
|
||||
index 573a41bbe96..0eb5a2e8d45 100644
|
||||
--- a/dlls/winex11.drv/x11drv_main.c
|
||||
+++ b/dlls/winex11.drv/x11drv_main.c
|
||||
@@ -704,6 +704,7 @@ static NTSTATUS x11drv_init( void *arg )
|
||||
@@ -220,5 +220,5 @@ index fc341c32f77..b0e306e3ac8 100644
|
||||
|
||||
init_user_driver();
|
||||
--
|
||||
2.40.1
|
||||
2.42.0
|
||||
|
||||
|
Reference in New Issue
Block a user