mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 9d72487f2102bd6eb245e199e73304c67bb5d41a.
This commit is contained in:
parent
c6119e3d5c
commit
7fc2d64fee
@ -1,4 +1,4 @@
|
||||
From 6cfa7d9011879898a079614077a605c812cb440e Mon Sep 17 00:00:00 2001
|
||||
From da81169743bd7f070186ec5e58c89bab53d0bb7f Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 28 Sep 2014 23:39:51 +0200
|
||||
Subject: [PATCH] ntdll: OutputDebugString should throw the exception a second
|
||||
@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: OutputDebugString should throw the exception a second
|
||||
2 files changed, 21 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernelbase/debug.c b/dlls/kernelbase/debug.c
|
||||
index 9488f2e2399..1cea4b5ba3c 100644
|
||||
index 9e954e3ffbe..a6793c20204 100644
|
||||
--- a/dlls/kernelbase/debug.c
|
||||
+++ b/dlls/kernelbase/debug.c
|
||||
@@ -200,6 +200,23 @@ void WINAPI DECLSPEC_HOTPATCH OutputDebugStringA( LPCSTR str )
|
||||
@ -38,10 +38,10 @@ index 9488f2e2399..1cea4b5ba3c 100644
|
||||
if (!mutex_inited)
|
||||
{
|
||||
diff --git a/dlls/ntdll/tests/exception.c b/dlls/ntdll/tests/exception.c
|
||||
index c4413d4d66e..4fe2c2b04db 100644
|
||||
index 3e76b001147..0c02486e19c 100644
|
||||
--- a/dlls/ntdll/tests/exception.c
|
||||
+++ b/dlls/ntdll/tests/exception.c
|
||||
@@ -8327,7 +8327,7 @@ static LONG CALLBACK outputdebugstring_vectored_handler(EXCEPTION_POINTERS *Exce
|
||||
@@ -8345,7 +8345,7 @@ static LONG CALLBACK outputdebugstring_vectored_handler(EXCEPTION_POINTERS *Exce
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ index c4413d4d66e..4fe2c2b04db 100644
|
||||
{
|
||||
PVOID vectored_handler;
|
||||
|
||||
@@ -8343,7 +8343,6 @@ static void test_outputdebugstring(DWORD numexc, BOOL todo)
|
||||
@@ -8361,7 +8361,6 @@ static void test_outputdebugstring(DWORD numexc, BOOL todo)
|
||||
outputdebugstring_exceptions = 0;
|
||||
OutputDebugStringA("Hello World");
|
||||
|
||||
@ -58,7 +58,7 @@ index c4413d4d66e..4fe2c2b04db 100644
|
||||
ok(outputdebugstring_exceptions == numexc, "OutputDebugStringA generated %ld exceptions, expected %ld\n",
|
||||
outputdebugstring_exceptions, numexc);
|
||||
|
||||
@@ -10660,9 +10659,9 @@ START_TEST(exception)
|
||||
@@ -10785,9 +10784,9 @@ START_TEST(exception)
|
||||
else skip( "RtlRaiseException not found\n" );
|
||||
#endif
|
||||
test_stage = 3;
|
||||
@ -70,15 +70,15 @@ index c4413d4d66e..4fe2c2b04db 100644
|
||||
test_stage = 5;
|
||||
test_ripevent(0);
|
||||
test_stage = 6;
|
||||
@@ -10766,7 +10765,7 @@ START_TEST(exception)
|
||||
@@ -10900,7 +10899,7 @@ START_TEST(exception)
|
||||
test_debugger(DBG_EXCEPTION_HANDLED);
|
||||
test_debugger(DBG_CONTINUE);
|
||||
test_thread_context();
|
||||
- test_outputdebugstring(1, FALSE);
|
||||
+ test_outputdebugstring(1);
|
||||
test_ripevent(1);
|
||||
test_fastfail();
|
||||
test_breakpoint(1);
|
||||
test_closehandle(0, (HANDLE)0xdeadbeef);
|
||||
--
|
||||
2.35.1
|
||||
2.36.1
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "4312d209232c701b0b78d9f8b463917c989005c5"
|
||||
echo "9d72487f2102bd6eb245e199e73304c67bb5d41a"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 4fb0e8d596496359484426d726a929ff8acf2e21 Mon Sep 17 00:00:00 2001
|
||||
From 3c53044557316db957a20471118c1481bb712a6c 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 c335bc5ba2b..3523e9c843c 100644
|
||||
index bc2ba60397b..96f74478600 100644
|
||||
--- a/dlls/winex11.drv/desktop.c
|
||||
+++ b/dlls/winex11.drv/desktop.c
|
||||
@@ -359,6 +359,7 @@ NTSTATUS x11drv_create_desktop( void *arg )
|
||||
@@ -363,6 +363,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,10 +26,10 @@ index c335bc5ba2b..3523e9c843c 100644
|
||||
|
||||
X11DRV_init_desktop( win, params->width, params->height );
|
||||
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
|
||||
index a321e324a24..dec32ec963a 100644
|
||||
index f81d2338faf..93032cedf70 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 )
|
||||
@@ -237,6 +237,13 @@ static Bool filter_event( Display *display, XEvent *event, char *arg )
|
||||
return (mask & QS_MOUSEBUTTON) != 0;
|
||||
#ifdef GenericEvent
|
||||
case GenericEvent:
|
||||
@ -44,10 +44,10 @@ index a321e324a24..dec32ec963a 100644
|
||||
case MotionNotify:
|
||||
case EnterNotify:
|
||||
diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c
|
||||
index eee737a1e40..bf67d6b727f 100644
|
||||
index b0dce3b245f..0725da89f67 100644
|
||||
--- a/dlls/winex11.drv/mouse.c
|
||||
+++ b/dlls/winex11.drv/mouse.c
|
||||
@@ -304,20 +304,32 @@ void x11drv_xinput_init(void)
|
||||
@@ -305,20 +305,32 @@ void x11drv_xinput_init(void)
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
@ -85,7 +85,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
|
||||
mask.mask = mask_bits;
|
||||
mask.mask_len = sizeof(mask_bits);
|
||||
@@ -327,8 +339,9 @@ static void enable_xinput2(void)
|
||||
@@ -328,8 +340,9 @@ static void enable_xinput2(void)
|
||||
XISetMask( mask_bits, XI_RawMotion );
|
||||
XISetMask( mask_bits, XI_ButtonPress );
|
||||
|
||||
@ -96,7 +96,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
pointer_info = pXIQueryDevice( data->display, data->xi2_core_pointer, &count );
|
||||
update_relative_valuators( pointer_info->classes, pointer_info->num_classes );
|
||||
pXIFreeDeviceInfo( pointer_info );
|
||||
@@ -337,7 +350,7 @@ static void enable_xinput2(void)
|
||||
@@ -338,7 +351,7 @@ static void enable_xinput2(void)
|
||||
* no XI_DeviceChanged events happened. If any hierarchy change occurred that
|
||||
* might be relevant here (eg. user switching mice after (un)plugging), a
|
||||
* XI_DeviceChanged event will point us to the right slave. So this list is
|
||||
@ -105,7 +105,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
*/
|
||||
if (data->xi2_devices) pXIFreeDeviceInfo( data->xi2_devices );
|
||||
data->xi2_devices = pXIQueryDevice( data->display, XIAllDevices, &data->xi2_device_count );
|
||||
@@ -349,24 +362,37 @@ static void enable_xinput2(void)
|
||||
@@ -350,24 +363,37 @@ static void enable_xinput2(void)
|
||||
#endif
|
||||
|
||||
/***********************************************************************
|
||||
@ -149,7 +149,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
pXIFreeDeviceInfo( data->xi2_devices );
|
||||
data->x_valuator.number = -1;
|
||||
data->y_valuator.number = -1;
|
||||
@@ -375,6 +401,7 @@ static void disable_xinput2(void)
|
||||
@@ -376,6 +402,7 @@ static void disable_xinput2(void)
|
||||
data->xi2_devices = NULL;
|
||||
data->xi2_core_pointer = 0;
|
||||
data->xi2_current_slave = 0;
|
||||
@ -157,7 +157,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -417,7 +444,7 @@ static BOOL grab_clipping_window( const RECT *clip )
|
||||
@@ -421,7 +448,7 @@ static BOOL grab_clipping_window( const RECT *clip )
|
||||
}
|
||||
|
||||
/* enable XInput2 unless we are already clipping */
|
||||
@ -166,7 +166,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
|
||||
if (data->xi2_state != xi_enabled)
|
||||
{
|
||||
@@ -447,7 +474,7 @@ static BOOL grab_clipping_window( const RECT *clip )
|
||||
@@ -451,7 +478,7 @@ static BOOL grab_clipping_window( const RECT *clip )
|
||||
|
||||
if (!clipping_cursor)
|
||||
{
|
||||
@ -175,7 +175,7 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
NtUserDestroyWindow( msg_hwnd );
|
||||
return FALSE;
|
||||
}
|
||||
@@ -530,7 +557,7 @@ LRESULT clip_cursor_notify( HWND hwnd, HWND prev_clip_hwnd, HWND new_clip_hwnd )
|
||||
@@ -534,7 +561,7 @@ LRESULT clip_cursor_notify( HWND hwnd, HWND prev_clip_hwnd, HWND new_clip_hwnd )
|
||||
TRACE( "clip hwnd reset from %p\n", hwnd );
|
||||
data->clip_hwnd = 0;
|
||||
data->clip_reset = NtGetTickCount();
|
||||
@ -185,10 +185,10 @@ index eee737a1e40..bf67d6b727f 100644
|
||||
}
|
||||
else if (prev_clip_hwnd)
|
||||
diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c
|
||||
index b9450911abc..4c7faeac969 100644
|
||||
index 5d9a93688c3..bfad72482e6 100644
|
||||
--- a/dlls/winex11.drv/window.c
|
||||
+++ b/dlls/winex11.drv/window.c
|
||||
@@ -358,6 +358,7 @@ static void sync_window_style( struct x11drv_win_data *data )
|
||||
@@ -361,6 +361,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 b9450911abc..4c7faeac969 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1593,6 +1594,7 @@ static void create_whole_window( struct x11drv_win_data *data )
|
||||
@@ -1599,6 +1600,7 @@ static void create_whole_window( struct x11drv_win_data *data )
|
||||
data->vis.visual, mask, &attr );
|
||||
if (!data->whole_window) goto done;
|
||||
|
||||
@ -204,19 +204,19 @@ index b9450911abc..4c7faeac969 100644
|
||||
set_initial_wm_hints( data->display, data->whole_window );
|
||||
set_wm_hints( data );
|
||||
|
||||
@@ -1907,6 +1909,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd )
|
||||
@@ -1911,6 +1913,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_client_call( client_clipboard_init, 0 );
|
||||
X11DRV_DisplayDevices_RegisterEventHandlers();
|
||||
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
|
||||
index d92a235f889..82540cab507 100644
|
||||
index 9fd5fb481a7..c1c5f1ac34d 100644
|
||||
--- a/dlls/winex11.drv/x11drv.h
|
||||
+++ b/dlls/winex11.drv/x11drv.h
|
||||
@@ -253,6 +253,8 @@ extern void X11DRV_ThreadDetach(void) DECLSPEC_HIDDEN;
|
||||
@@ -259,6 +259,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;
|
||||
@ -225,7 +225,7 @@ index d92a235f889..82540cab507 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,
|
||||
@@ -359,6 +361,14 @@ struct x11drv_escape_flush_gl_drawable
|
||||
@@ -364,6 +366,14 @@ struct x11drv_escape_flush_gl_drawable
|
||||
* X11 USER driver
|
||||
*/
|
||||
|
||||
@ -240,7 +240,7 @@ index d92a235f889..82540cab507 100644
|
||||
struct x11drv_thread_data
|
||||
{
|
||||
Display *display;
|
||||
@@ -375,7 +385,7 @@ struct x11drv_thread_data
|
||||
@@ -379,7 +389,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
|
||||
@ -250,5 +250,5 @@ index d92a235f889..82540cab507 100644
|
||||
int xi2_device_count;
|
||||
XIValuatorClassInfo x_valuator;
|
||||
--
|
||||
2.35.1
|
||||
2.36.1
|
||||
|
||||
|
@ -1 +1 @@
|
||||
4312d209232c701b0b78d9f8b463917c989005c5
|
||||
9d72487f2102bd6eb245e199e73304c67bb5d41a
|
||||
|
Loading…
Reference in New Issue
Block a user