diff --git a/patches/dxdiagn-Enumerate_DirectSound/0001-dxdiagn-Enumerate-DirectSound-devices-and-add-some-b.patch b/patches/dxdiagn-Enumerate_DirectSound/0001-dxdiagn-Enumerate-DirectSound-devices-and-add-some-b.patch index 73e5a6e0..d77e1199 100644 --- a/patches/dxdiagn-Enumerate_DirectSound/0001-dxdiagn-Enumerate-DirectSound-devices-and-add-some-b.patch +++ b/patches/dxdiagn-Enumerate_DirectSound/0001-dxdiagn-Enumerate-DirectSound-devices-and-add-some-b.patch @@ -1,4 +1,4 @@ -From cec8dd343a831fb7016a219c8e7228b8872e1fb9 Mon Sep 17 00:00:00 2001 +From 70a09ccf3108ded29c3049ab3ee5aea843b43215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 15 Aug 2015 02:59:17 +0200 Subject: [PATCH] dxdiagn: Enumerate DirectSound devices and add some basic @@ -6,9 +6,9 @@ Subject: [PATCH] dxdiagn: Enumerate DirectSound devices and add some basic --- dlls/dxdiagn/Makefile.in | 2 +- - dlls/dxdiagn/provider.c | 91 +++++++++++++++++++++ - dlls/dxdiagn/tests/container.c | 141 +++++++++++++++++++++++++++++++++ - 3 files changed, 233 insertions(+), 1 deletion(-) + dlls/dxdiagn/provider.c | 91 +++++++++++++++++++++++ + dlls/dxdiagn/tests/container.c | 131 +++++++++++++++++++++++++++++++++ + 3 files changed, 223 insertions(+), 1 deletion(-) diff --git a/dlls/dxdiagn/Makefile.in b/dlls/dxdiagn/Makefile.in index fa4b611f245..88c99803b06 100644 @@ -149,22 +149,10 @@ index 6b6f4e640cc..4ae5046b818 100644 } diff --git a/dlls/dxdiagn/tests/container.c b/dlls/dxdiagn/tests/container.c -index 90287ad0e74..e8d5ac33a83 100644 +index c011ff9cc07..3f9f9d6d29f 100644 --- a/dlls/dxdiagn/tests/container.c +++ b/dlls/dxdiagn/tests/container.c -@@ -36,6 +36,11 @@ static IDxDiagContainer *pddc; - - static const WCHAR DxDiag_SystemInfo[] = {'D','x','D','i','a','g','_','S','y','s','t','e','m','I','n','f','o',0}; - static const WCHAR DxDiag_DisplayDevices[] = {'D','x','D','i','a','g','_','D','i','s','p','l','a','y','D','e','v','i','c','e','s',0}; -+static const WCHAR DxDiag_SoundDevices[] = {'D','x','D','i','a','g','_','D','i','r','e','c','t','S','o','u','n','d','.', -+ 'D','x','D','i','a','g','_','S','o','u','n','d','D','e','v','i','c','e','s',0}; -+static const WCHAR DxDiag_SoundCaptureDevices[] = {'D','x','D','i','a','g','_','D','i','r','e','c','t','S','o','u','n','d','.', -+ 'D','x','D','i','a','g','_','S','o','u','n','d','C','a','p','t','u','r','e', -+ 'D','e','v','i','c','e','s',0}; - - static BOOL create_root_IDxDiagContainer(void) - { -@@ -993,6 +998,140 @@ cleanup: +@@ -922,6 +922,135 @@ cleanup: IDxDiagProvider_Release(pddp); } @@ -193,7 +181,7 @@ index 90287ad0e74..e8d5ac33a83 100644 + return; + } + -+ hr = IDxDiagContainer_GetChildContainer(pddc, DxDiag_SoundDevices, &sound_cont); ++ hr = IDxDiagContainer_GetChildContainer(pddc, L"DxDiag_SoundDevices", &sound_cont); + ok(hr == S_OK, "Expected IDxDiagContainer::GetChildContainer to return S_OK, got 0x%08x\n", hr); + + if (hr != S_OK) @@ -237,17 +225,12 @@ index 90287ad0e74..e8d5ac33a83 100644 + +static void test_DxDiag_SoundCaptureDevices(void) +{ -+ static const WCHAR szDescription[] = {'s','z','D','e','s','c','r','i','p','t','i','o','n',0}; -+ static const WCHAR szGuidDeviceID[] = {'s','z','G','u','i','d','D','e','v','i','c','e','I','D',0}; -+ static const WCHAR szDriverPath[] = {'s','z','D','r','i','v','e','r','P','a','t','h',0}; -+ static const WCHAR szDriverName[] = {'s','z','D','r','i','v','e','r','N','a','m','e',0}; -+ + static const struct property_test property_tests[] = + { -+ {szDescription, VT_BSTR}, -+ {szGuidDeviceID, VT_BSTR}, -+ {szDriverName, VT_BSTR}, -+ {szDriverPath, VT_BSTR}, ++ {L"szDescription", VT_BSTR}, ++ {L"szGuidDeviceID", VT_BSTR}, ++ {L"szDriverPath", VT_BSTR}, ++ {L"szDriverName", VT_BSTR}, + }; + + IDxDiagContainer *sound_cont = NULL; @@ -260,7 +243,7 @@ index 90287ad0e74..e8d5ac33a83 100644 + return; + } + -+ hr = IDxDiagContainer_GetChildContainer(pddc, DxDiag_SoundCaptureDevices, &sound_cont); ++ hr = IDxDiagContainer_GetChildContainer(pddc, L"DxDiag_SoundCaptureDevices", &sound_cont); + ok(hr == S_OK, "Expected IDxDiagContainer::GetChildContainer to return S_OK, got 0x%08x\n", hr); + + if (hr != S_OK) @@ -305,7 +288,7 @@ index 90287ad0e74..e8d5ac33a83 100644 START_TEST(container) { CoInitialize(NULL); -@@ -1007,5 +1146,7 @@ START_TEST(container) +@@ -936,5 +1065,7 @@ START_TEST(container) test_root_children(); test_DxDiag_SystemInfo(); test_DxDiag_DisplayDevices(); @@ -314,5 +297,5 @@ index 90287ad0e74..e8d5ac33a83 100644 CoUninitialize(); } -- -2.24.0 +2.28.0 diff --git a/patches/dxdiagn-GetChildContainer_Leaf_Nodes/0001-dxdiagn-Calling-GetChildContainer-with-an-empty-stri.patch b/patches/dxdiagn-GetChildContainer_Leaf_Nodes/0001-dxdiagn-Calling-GetChildContainer-with-an-empty-stri.patch index 8b1414f2..ed720ede 100644 --- a/patches/dxdiagn-GetChildContainer_Leaf_Nodes/0001-dxdiagn-Calling-GetChildContainer-with-an-empty-stri.patch +++ b/patches/dxdiagn-GetChildContainer_Leaf_Nodes/0001-dxdiagn-Calling-GetChildContainer-with-an-empty-stri.patch @@ -1,4 +1,4 @@ -From d1aa9a4e9abd6db9d164d390fa7e942a10efc5cd Mon Sep 17 00:00:00 2001 +From 8f0d1a97147714cdee9f69781f6b919bf005aed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sat, 15 Aug 2015 03:58:04 +0200 Subject: [PATCH] dxdiagn: Calling GetChildContainer with an empty string on a @@ -32,11 +32,11 @@ index 87d593a15a7..d84f185a795 100644 return hr; } diff --git a/dlls/dxdiagn/tests/container.c b/dlls/dxdiagn/tests/container.c -index c80717cd392..7f09fb5cb82 100644 +index 18423779075..350b46a0253 100644 --- a/dlls/dxdiagn/tests/container.c +++ b/dlls/dxdiagn/tests/container.c -@@ -901,7 +901,8 @@ static void test_DxDiag_SystemInfo(void) - {szProcessorEnglish, VT_BSTR}, +@@ -819,7 +819,8 @@ static void test_DxDiag_SystemInfo(void) + {L"szProcessorEnglish", VT_BSTR}, }; - IDxDiagContainer *container; @@ -45,17 +45,17 @@ index c80717cd392..7f09fb5cb82 100644 HRESULT hr; if (!create_root_IDxDiagContainer()) -@@ -910,6 +911,9 @@ static void test_DxDiag_SystemInfo(void) +@@ -828,6 +829,9 @@ static void test_DxDiag_SystemInfo(void) return; } + hr = IDxDiagContainer_GetChildContainer(pddc, empty, &container2); + ok(hr == E_INVALIDARG, "Expected IDxDiagContainer::GetChildContainer to return E_INVALIDARG, got 0x%08x\n", hr); + - hr = IDxDiagContainer_GetChildContainer(pddc, DxDiag_SystemInfo, &container); + hr = IDxDiagContainer_GetChildContainer(pddc, L"DxDiag_SystemInfo", &container); ok(hr == S_OK, "Expected IDxDiagContainer::GetChildContainer to return S_OK, got 0x%08x\n", hr); -@@ -917,6 +921,14 @@ static void test_DxDiag_SystemInfo(void) +@@ -835,6 +839,14 @@ static void test_DxDiag_SystemInfo(void) { trace("Testing container DxDiag_SystemInfo\n"); test_container_properties(container, property_tests, ARRAY_SIZE(property_tests)); @@ -70,7 +70,7 @@ index c80717cd392..7f09fb5cb82 100644 IDxDiagContainer_Release(container); } -@@ -1033,6 +1045,7 @@ static void test_DxDiag_SoundDevices(void) +@@ -928,6 +940,7 @@ static void test_DxDiag_SoundDevices(void) static const WCHAR szGuidDeviceID[] = {'s','z','G','u','i','d','D','e','v','i','c','e','I','D',0}; static const WCHAR szDriverPath[] = {'s','z','D','r','i','v','e','r','P','a','t','h',0}; static const WCHAR szDriverName[] = {'s','z','D','r','i','v','e','r','N','a','m','e',0}; @@ -78,7 +78,7 @@ index c80717cd392..7f09fb5cb82 100644 static const struct property_test property_tests[] = { -@@ -1072,7 +1085,7 @@ static void test_DxDiag_SoundDevices(void) +@@ -967,7 +980,7 @@ static void test_DxDiag_SoundDevices(void) for (i = 0; i < count; i++) { WCHAR child_container[256]; @@ -87,7 +87,7 @@ index c80717cd392..7f09fb5cb82 100644 hr = IDxDiagContainer_EnumChildContainerNames(sound_cont, i, child_container, sizeof(child_container)/sizeof(WCHAR)); ok(hr == S_OK, "Expected IDxDiagContainer::EnumChildContainerNames to return S_OK, got 0x%08x\n", hr); -@@ -1085,6 +1098,14 @@ static void test_DxDiag_SoundDevices(void) +@@ -980,6 +993,14 @@ static void test_DxDiag_SoundDevices(void) trace("Testing container %s\n", wine_dbgstr_w(child_container)); test_container_properties(child, property_tests, sizeof(property_tests)/sizeof(property_tests[0])); } @@ -103,5 +103,5 @@ index c80717cd392..7f09fb5cb82 100644 } -- -2.20.1 +2.28.0 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 0473ffd3..8549c074 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "cce4f36e214125173a8df84d27ba5b33df8d1434" + echo "568e3e8b697a960881c162671a33c28727921797" } # Show version information diff --git a/patches/user32-rawinput-mouse/0010-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch b/patches/user32-rawinput-mouse/0010-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch index d936616c..0da5a50f 100644 --- a/patches/user32-rawinput-mouse/0010-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch +++ b/patches/user32-rawinput-mouse/0010-winex11.drv-Listen-to-RawMotion-and-RawButton-events.patch @@ -1,4 +1,4 @@ -From c346568308b37a4bbb7f3edb21bb1097f2ddbc4a Mon Sep 17 00:00:00 2001 +From b1139be0f5b7cc4c682f382655a6b58e5087a711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Wed, 11 Sep 2019 10:15:20 +0200 Subject: [PATCH] winex11.drv: Listen to RawMotion and RawButton* events in the @@ -54,7 +54,7 @@ index 07f7a1ad502..d722ba9d7cc 100644 #endif } diff --git a/dlls/winex11.drv/mouse.c b/dlls/winex11.drv/mouse.c -index 26e8b4eea92..ded877a140f 100644 +index a1f2d4262e1..74598a3a85b 100644 --- a/dlls/winex11.drv/mouse.c +++ b/dlls/winex11.drv/mouse.c @@ -362,9 +362,9 @@ static void update_relative_valuators(XIAnyClassInfo **valuators, int n_valuator @@ -122,7 +122,7 @@ index 26e8b4eea92..ded877a140f 100644 DestroyWindow( msg_hwnd ); return FALSE; } -@@ -584,7 +596,7 @@ LRESULT clip_cursor_notify( HWND hwnd, HWND prev_clip_hwnd, HWND new_clip_hwnd ) +@@ -582,7 +594,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 = GetTickCount(); @@ -130,8 +130,8 @@ index 26e8b4eea92..ded877a140f 100644 + X11DRV_XInput2_Disable(); DestroyWindow( hwnd ); } - else if (hwnd == GetForegroundWindow()) /* request to clip */ -@@ -723,7 +735,7 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU + else if (prev_clip_hwnd) +@@ -719,7 +731,7 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU } input->u.mi.dx += clip_rect.left; input->u.mi.dy += clip_rect.top; @@ -140,7 +140,7 @@ index 26e8b4eea92..ded877a140f 100644 return; } -@@ -763,7 +775,7 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU +@@ -759,7 +771,7 @@ static void send_mouse_input( HWND hwnd, Window window, unsigned int state, INPU SERVER_END_REQ; } @@ -149,7 +149,7 @@ index 26e8b4eea92..ded877a140f 100644 } #ifdef SONAME_LIBXCURSOR -@@ -1709,7 +1721,7 @@ void move_resize_window( HWND hwnd, int dir ) +@@ -1729,7 +1741,7 @@ void move_resize_window( HWND hwnd, int dir ) input.u.mi.dwFlags = button_up_flags[button - 1] | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE; input.u.mi.time = GetTickCount(); input.u.mi.dwExtraInfo = 0; @@ -158,7 +158,7 @@ index 26e8b4eea92..ded877a140f 100644 } while (PeekMessageW( &msg, 0, 0, 0, PM_REMOVE )) -@@ -1892,6 +1904,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) +@@ -1912,6 +1924,7 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) x_rel = &thread_data->x_rel_valuator; y_rel = &thread_data->y_rel_valuator; @@ -166,7 +166,7 @@ index 26e8b4eea92..ded877a140f 100644 input.u.mi.mouseData = 0; input.u.mi.dwFlags = MOUSEEVENTF_MOVE; input.u.mi.time = EVENT_x11_time_to_win32_time( event->time ); -@@ -1927,10 +1940,53 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) +@@ -1947,10 +1960,53 @@ static BOOL X11DRV_RawMotion( XGenericEventCookie *xev ) return FALSE; } @@ -223,7 +223,7 @@ index 26e8b4eea92..ded877a140f 100644 return TRUE; } -@@ -2006,6 +2062,10 @@ BOOL X11DRV_GenericEvent( HWND hwnd, XEvent *xev ) +@@ -2026,6 +2082,10 @@ BOOL X11DRV_GenericEvent( HWND hwnd, XEvent *xev ) case XI_RawMotion: ret = X11DRV_RawMotion( event ); break; @@ -235,7 +235,7 @@ index 26e8b4eea92..ded877a140f 100644 default: TRACE( "Unhandled event %#x\n", event->evtype ); diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h -index 73b1e90f12e..6febdc18b0a 100644 +index 6c2a8978eb5..92bd23c93ea 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -196,6 +196,8 @@ extern BOOL CDECL X11DRV_UnrealizePalette( HPALETTE hpal ) DECLSPEC_HIDDEN; @@ -247,7 +247,7 @@ index 73b1e90f12e..6febdc18b0a 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, -@@ -342,6 +344,7 @@ struct x11drv_thread_data +@@ -343,6 +345,7 @@ struct x11drv_thread_data struct x11drv_valuator_data x_rel_valuator; struct x11drv_valuator_data y_rel_valuator; int xi2_core_pointer; /* XInput2 core pointer id */ @@ -256,10 +256,10 @@ index 73b1e90f12e..6febdc18b0a 100644 extern struct x11drv_thread_data *x11drv_init_thread_data(void) DECLSPEC_HIDDEN; diff --git a/dlls/winex11.drv/x11drv_main.c b/dlls/winex11.drv/x11drv_main.c -index 20e829ba64f..4eaedd1c556 100644 +index 6b32f3fd118..a7855a3245b 100644 --- a/dlls/winex11.drv/x11drv_main.c +++ b/dlls/winex11.drv/x11drv_main.c -@@ -632,6 +632,8 @@ void CDECL X11DRV_ThreadDetach(void) +@@ -633,6 +633,8 @@ void CDECL X11DRV_ThreadDetach(void) if (data) { @@ -268,7 +268,7 @@ index 20e829ba64f..4eaedd1c556 100644 if (data->xim) XCloseIM( data->xim ); if (data->font_set) XFreeFontSet( data->display, data->font_set ); XCloseDisplay( data->display ); -@@ -701,6 +703,8 @@ struct x11drv_thread_data *x11drv_init_thread_data(void) +@@ -702,6 +704,8 @@ struct x11drv_thread_data *x11drv_init_thread_data(void) TlsSetValue( thread_data_tls_index, data ); if (use_xim) X11DRV_SetupXIM(); @@ -278,5 +278,5 @@ index 20e829ba64f..4eaedd1c556 100644 return data; } -- -2.27.0 +2.28.0 diff --git a/patches/windows.gaming.input-dll/0003-windows.gaming.input-Implement-IGamepadStatics-stubs.patch b/patches/windows.gaming.input-dll/0003-windows.gaming.input-Implement-IGamepadStatics-stubs.patch index 222a3881..c4a063a1 100644 --- a/patches/windows.gaming.input-dll/0003-windows.gaming.input-Implement-IGamepadStatics-stubs.patch +++ b/patches/windows.gaming.input-dll/0003-windows.gaming.input-Implement-IGamepadStatics-stubs.patch @@ -1,7 +1,7 @@ -From c1a8b6dfd1f105a1e9f151b0fafecc928c2d0e8f Mon Sep 17 00:00:00 2001 +From ba450b20147db9af677e2388c7b3b43995967ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 21 Aug 2020 08:58:34 +0200 -Subject: [PATCH 3/4] windows.gaming.input: Implement IGamepadStatics stubs. +Subject: [PATCH] windows.gaming.input: Implement IGamepadStatics stubs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -9,12 +9,11 @@ Content-Transfer-Encoding: 8bit Signed-off-by: RĂ©mi Bernon --- .../windows.gaming.input_main.c | 358 ++++++++++++++++++ - include/objidl.idl | 9 + loader/wine.inf.in | 1 + - 3 files changed, 368 insertions(+) + 3 files changed, 370 insertions(+) diff --git a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c -index f345fbffb5..44ad92980e 100644 +index f345fbffb50..44ad92980e5 100644 --- a/dlls/windows.gaming.input.dll/windows.gaming.input_main.c +++ b/dlls/windows.gaming.input.dll/windows.gaming.input_main.c @@ -20,9 +20,140 @@ static const char *debugstr_hstring(HSTRING hstr) @@ -403,31 +402,11 @@ index f345fbffb5..44ad92980e 100644 0 }; -diff --git a/include/objidl.idl b/include/objidl.idl -index a86ceb8b1d..cb814f5564 100644 ---- a/include/objidl.idl -+++ b/include/objidl.idl -@@ -37,6 +37,15 @@ typedef struct _COSERVERINFO { - - /******************** Fundamentals ********************/ - -+[ -+ local, -+ object, -+ uuid(94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90) -+] -+interface IAgileObject : IUnknown -+{ -+} -+ - [ - local, - object, diff --git a/loader/wine.inf.in b/loader/wine.inf.in -index 8777377002..a5b9e866bd 100644 +index f1f1563ac53..1d372f457ee 100644 --- a/loader/wine.inf.in +++ b/loader/wine.inf.in -@@ -705,6 +705,7 @@ HKLM,%MciExtStr%,"wmx",,"MPEGVideo" +@@ -717,6 +717,7 @@ HKLM,%MciExtStr%,"wmx",,"MPEGVideo" HKLM,%MciExtStr%,"wvx",,"MPEGVideo" [Misc] diff --git a/staging/upstream-commit b/staging/upstream-commit index 6b46e5a6..feb4a25e 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -cce4f36e214125173a8df84d27ba5b33df8d1434 +568e3e8b697a960881c162671a33c28727921797