mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Rebase against 2828d0820a1661e46f606f28db090d710cef11f4.
This commit is contained in:
parent
c747e46d75
commit
44af049de7
@ -1,18 +1,18 @@
|
||||
From 34b3bcb23bf0a4b81b1cddca90f8a248f478fee5 Mon Sep 17 00:00:00 2001
|
||||
From b2a5efcef525f887c7fe40ce3ed0a8a47c42d5fc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Thu, 26 Feb 2015 06:41:26 +0100
|
||||
Subject: [PATCH] kernelbase: Add support for progress callback in CopyFileEx.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/file.c | 6 ----
|
||||
dlls/kernelbase/file.c | 65 ++++++++++++++++++++++++++++++++++++--
|
||||
2 files changed, 63 insertions(+), 8 deletions(-)
|
||||
dlls/kernel32/tests/file.c | 6 ---
|
||||
dlls/kernelbase/file.c | 77 +++++++++++++++++++++++++++++++++++---
|
||||
2 files changed, 71 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
|
||||
index 2e26e2ace86..1cccb105448 100644
|
||||
index 6ea9dffde5c..b12d0477e04 100644
|
||||
--- a/dlls/kernel32/tests/file.c
|
||||
+++ b/dlls/kernel32/tests/file.c
|
||||
@@ -1173,23 +1173,17 @@ static void test_CopyFileEx(void)
|
||||
@@ -1169,23 +1169,17 @@ static void test_CopyFileEx(void)
|
||||
ok(hfile != INVALID_HANDLE_VALUE, "failed to open destination file, error %d\n", GetLastError());
|
||||
SetLastError(0xdeadbeef);
|
||||
retok = CopyFileExA(source, dest, copy_progress_cb, hfile, NULL, 0);
|
||||
@ -37,10 +37,17 @@ index 2e26e2ace86..1cccb105448 100644
|
||||
|
||||
retok = CopyFileExA(source, NULL, copy_progress_cb, hfile, NULL, 0);
|
||||
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
|
||||
index 3b00321eb1a..ab95c8babf1 100644
|
||||
index 23a36b0a765..98cf7e58368 100644
|
||||
--- a/dlls/kernelbase/file.c
|
||||
+++ b/dlls/kernelbase/file.c
|
||||
@@ -503,6 +503,10 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
@@ -499,11 +499,16 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
{
|
||||
static const int buffer_size = 65536;
|
||||
HANDLE h1, h2;
|
||||
- FILE_BASIC_INFORMATION info;
|
||||
+ FILE_NETWORK_OPEN_INFORMATION info;
|
||||
+ FILE_BASIC_INFORMATION basic_info;
|
||||
IO_STATUS_BLOCK io;
|
||||
DWORD count;
|
||||
BOOL ret = FALSE;
|
||||
char *buffer;
|
||||
@ -51,7 +58,7 @@ index 3b00321eb1a..ab95c8babf1 100644
|
||||
|
||||
if (!source || !dest)
|
||||
{
|
||||
@@ -517,7 +521,15 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
@@ -518,7 +523,15 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
|
||||
TRACE("%s -> %s, %x\n", debugstr_w(source), debugstr_w(dest), flags);
|
||||
|
||||
@ -68,25 +75,33 @@ index 3b00321eb1a..ab95c8babf1 100644
|
||||
NULL, OPEN_EXISTING, 0, 0 )) == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
WARN("Unable to open source %s\n", debugstr_w(source));
|
||||
@@ -551,7 +563,11 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
@@ -526,7 +539,7 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- if (!set_ntstatus( NtQueryInformationFile( h1, &io, &info, sizeof(info), FileBasicInformation )))
|
||||
+ if (!set_ntstatus( NtQueryInformationFile( h1, &io, &info, sizeof(info), FileNetworkOpenInformation )))
|
||||
{
|
||||
WARN("GetFileInformationByHandle returned error for %s\n", debugstr_w(source));
|
||||
HeapFree( GetProcessHeap(), 0, buffer );
|
||||
@@ -552,7 +565,11 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
}
|
||||
}
|
||||
|
||||
- if ((h2 = CreateFileW( dest, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
+ if ((h2 = CreateFileW( dest, GENERIC_WRITE | DELETE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
+ (flags & COPY_FILE_FAIL_IF_EXISTS) ? CREATE_NEW : CREATE_ALWAYS,
|
||||
+ info.dwFileAttributes, h1 )) == INVALID_HANDLE_VALUE &&
|
||||
+ info.FileAttributes, h1 )) == INVALID_HANDLE_VALUE &&
|
||||
+ /* retry without DELETE if we got a sharing violation */
|
||||
+ (h2 = CreateFileW( dest, GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
|
||||
(flags & COPY_FILE_FAIL_IF_EXISTS) ? CREATE_NEW : CREATE_ALWAYS,
|
||||
info.dwFileAttributes, h1 )) == INVALID_HANDLE_VALUE)
|
||||
info.FileAttributes, h1 )) == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
@@ -561,6 +577,30 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
@@ -562,6 +579,29 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+ size.u.LowPart = info.nFileSizeLow;
|
||||
+ size.u.HighPart = info.nFileSizeHigh;
|
||||
+ size = info.EndOfFile;
|
||||
+ transferred.QuadPart = 0;
|
||||
+
|
||||
+ if (progress)
|
||||
@ -112,7 +127,7 @@ index 3b00321eb1a..ab95c8babf1 100644
|
||||
while (ReadFile( h1, buffer, buffer_size, &count, NULL ) && count)
|
||||
{
|
||||
char *p = buffer;
|
||||
@@ -570,6 +610,27 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
@@ -571,13 +611,38 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
|
||||
if (!WriteFile( h2, p, count, &res, NULL ) || !res) goto done;
|
||||
p += res;
|
||||
count -= res;
|
||||
@ -140,6 +155,19 @@ index 3b00321eb1a..ab95c8babf1 100644
|
||||
}
|
||||
}
|
||||
ret = TRUE;
|
||||
done:
|
||||
/* Maintain the timestamp of source file to destination file */
|
||||
- info.FileAttributes = 0;
|
||||
- NtSetInformationFile( h2, &io, &info, sizeof(info), FileBasicInformation );
|
||||
+ basic_info.CreationTime = info.CreationTime;
|
||||
+ basic_info.LastAccessTime = info.LastAccessTime;
|
||||
+ basic_info.LastWriteTime = info.LastWriteTime;
|
||||
+ basic_info.ChangeTime = info.ChangeTime;
|
||||
+ basic_info.FileAttributes = 0;
|
||||
+ NtSetInformationFile( h2, &io, &basic_info, sizeof(basic_info), FileBasicInformation );
|
||||
HeapFree( GetProcessHeap(), 0, buffer );
|
||||
CloseHandle( h1 );
|
||||
CloseHandle( h2 );
|
||||
--
|
||||
2.26.2
|
||||
2.30.2
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 002d5f21931d383a28be7aefdcb0a5299e51afb8 Mon Sep 17 00:00:00 2001
|
||||
From 17e0fb2e0be8d53b485c96941faaa76d30d0c032 Mon Sep 17 00:00:00 2001
|
||||
From: Zebediah Figura <z.figura12@gmail.com>
|
||||
Date: Mon, 31 Aug 2020 23:03:34 -0500
|
||||
Subject: [PATCH] ntdll: Implement thread-id alerts on top of Mach semaphores
|
||||
@ -104,7 +104,7 @@ index 87f5a97131e..e97a9657f03 100644
|
||||
pthread_attr_init( &pthread_attr );
|
||||
pthread_attr_setstack( &pthread_attr, teb->DeallocationStack,
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index f7aec55e355..4b4b90f4944 100644
|
||||
index 2da19c6844f..3c4d5dd8a2b 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -27,6 +27,11 @@
|
||||
@ -118,8 +118,8 @@ index f7aec55e355..4b4b90f4944 100644
|
||||
+
|
||||
#ifdef __i386__
|
||||
static const enum cpu_type client_cpu = CPU_x86;
|
||||
#elif defined(__x86_64__)
|
||||
@@ -58,10 +63,14 @@ struct ntdll_thread_data
|
||||
static const WORD current_machine = IMAGE_FILE_MACHINE_I386;
|
||||
@@ -62,10 +67,14 @@ struct ntdll_thread_data
|
||||
struct list entry; /* entry in TEB list */
|
||||
PRTL_THREAD_START_ROUTINE start; /* thread entry point */
|
||||
void *param; /* thread entry point parameter */
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3a0372bf303cbbfbb94f23455758b6020f038241 Mon Sep 17 00:00:00 2001
|
||||
From 53921ff97159fcd4a060568df463886192d41420 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Wed, 16 Aug 2017 23:48:40 +0300
|
||||
Subject: [PATCH] ntdll: Always restore TEB to x18 on aarch 64 on return from
|
||||
@ -20,12 +20,12 @@ Signed-off-by: Martin Storsjo <martin@martin.st>
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index f54e25fcc5c..87ffc74062b 100644
|
||||
index 092c47eac3b..05e36598cdb 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -2073,7 +2073,13 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
@@ -1890,7 +1890,13 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
|
||||
if (image_info->u.s.WineBuiltin)
|
||||
if (is_builtin)
|
||||
{
|
||||
- if (TRACE_ON(relay)) RELAY_SetupDLL( *module );
|
||||
+#ifdef __aarch64__
|
||||
@ -56,5 +56,5 @@ index be2dc833377..e29496a8c7a 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.30.0
|
||||
2.20.1
|
||||
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "4d5824112e13160e538013a25f1c13a124565180"
|
||||
echo "2828d0820a1661e46f606f28db090d710cef11f4"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 029200956d78cda3fc27514adaf8d52541881367 Mon Sep 17 00:00:00 2001
|
||||
From df4e50780191fa5ab30808b4b9dc34321650e070 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Fri, 9 Oct 2020 13:38:18 +0200
|
||||
Subject: [PATCH] windows.gaming.input: Add stub dll.
|
||||
@ -8,13 +8,10 @@ Subject: [PATCH] windows.gaming.input: Add stub dll.
|
||||
dlls/windows.gaming.input.dll/Makefile.in | 5 +
|
||||
.../windows.gaming.input.spec | 3 +
|
||||
.../windows.gaming.input_main.c | 140 ++++++++++++++++++
|
||||
include/Makefile.in | 1 +
|
||||
include/windows.gaming.input.idl | 24 +++
|
||||
6 files changed, 174 insertions(+)
|
||||
4 files changed, 149 insertions(+)
|
||||
create mode 100644 dlls/windows.gaming.input.dll/Makefile.in
|
||||
create mode 100644 dlls/windows.gaming.input.dll/windows.gaming.input.spec
|
||||
create mode 100644 dlls/windows.gaming.input.dll/windows.gaming.input_main.c
|
||||
create mode 100644 include/windows.gaming.input.idl
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 8c092fb020c..558d2e906a2 100644
|
||||
@ -194,48 +191,6 @@ index 00000000000..2b6abc4dd84
|
||||
+ IUnknown_AddRef(*factory);
|
||||
+ return S_OK;
|
||||
+}
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index d3494dde7a0..71afc8c0c99 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -749,6 +749,7 @@ SOURCES = \
|
||||
windns.h \
|
||||
windows.foundation.collections.idl \
|
||||
windows.foundation.idl \
|
||||
+ windows.gaming.input.idl \
|
||||
windows.h \
|
||||
windows.media.speechsynthesis.idl \
|
||||
windowscontracts.idl \
|
||||
diff --git a/include/windows.gaming.input.idl b/include/windows.gaming.input.idl
|
||||
new file mode 100644
|
||||
index 00000000000..575f34ccb58
|
||||
--- /dev/null
|
||||
+++ b/include/windows.gaming.input.idl
|
||||
@@ -0,0 +1,24 @@
|
||||
+/*
|
||||
+ * Copyright 2020 Rémi Bernon for CodeWeavers
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+#ifdef __WIDL__
|
||||
+#pragma winrt ns_prefix
|
||||
+#endif
|
||||
+
|
||||
+import "inspectable.idl";
|
||||
+import "windows.foundation.idl";
|
||||
--
|
||||
2.20.1
|
||||
|
||||
|
@ -1,15 +1,13 @@
|
||||
From c198ba64a5ccf37f06e61b2baf523773e1cdb350 Mon Sep 17 00:00:00 2001
|
||||
From f94d77d2f797f524793f74c455e56f33725b7728 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Sat, 20 Feb 2021 00:51:48 +0100
|
||||
Subject: [PATCH] windows.gaming.input: Implement IGamepadStatics stubs.
|
||||
|
||||
---
|
||||
.../windows.gaming.input_main.c | 125 +++++++++++++++++
|
||||
.../windows.gaming.input_main.c | 125 ++++++++++++++++++
|
||||
include/windows.foundation.collections.idl | 6 +
|
||||
include/windows.foundation.idl | 5 +
|
||||
include/windows.gaming.input.idl | 128 ++++++++++++++++++
|
||||
loader/wine.inf.in | 1 +
|
||||
5 files changed, 265 insertions(+)
|
||||
3 files changed, 132 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 2b6abc4dd84..a910f9bf40e 100644
|
||||
@ -193,158 +191,6 @@ index ed05016b96d..ba860a1e82e 100644
|
||||
namespace Collections
|
||||
{
|
||||
[
|
||||
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl
|
||||
index 3c60278cf05..90bbc876339 100644
|
||||
--- a/include/windows.foundation.idl
|
||||
+++ b/include/windows.foundation.idl
|
||||
@@ -27,6 +27,11 @@ import "windowscontracts.idl";
|
||||
/* import "ivectorchangedeventargs.idl"; */
|
||||
import "windows.foundation.collections.idl";
|
||||
|
||||
+typedef struct EventRegistrationToken
|
||||
+{
|
||||
+ __int64 value;
|
||||
+} EventRegistrationToken;
|
||||
+
|
||||
namespace Windows {
|
||||
namespace Foundation {
|
||||
[contract(Windows.Foundation.FoundationContract, 1.0)]
|
||||
diff --git a/include/windows.gaming.input.idl b/include/windows.gaming.input.idl
|
||||
index 575f34ccb58..b5af4e24a66 100644
|
||||
--- a/include/windows.gaming.input.idl
|
||||
+++ b/include/windows.gaming.input.idl
|
||||
@@ -22,3 +22,131 @@
|
||||
|
||||
import "inspectable.idl";
|
||||
import "windows.foundation.idl";
|
||||
+
|
||||
+namespace Windows {
|
||||
+ namespace Gaming {
|
||||
+ namespace Input {
|
||||
+ typedef enum GamepadButtons GamepadButtons;
|
||||
+ typedef struct GamepadReading GamepadReading;
|
||||
+ typedef struct GamepadVibration GamepadVibration;
|
||||
+ interface IGameController;
|
||||
+ interface IGameControllerBatteryInfo;
|
||||
+ interface IGamepad;
|
||||
+ interface IGamepad2;
|
||||
+ interface IGamepadStatics;
|
||||
+ interface IGamepadStatics2;
|
||||
+ runtimeclass Gamepad;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+namespace Windows {
|
||||
+ namespace Gaming {
|
||||
+ namespace Input {
|
||||
+ declare {
|
||||
+ interface Windows.Foundation.EventHandler<Windows.Gaming.Input.Gamepad*>;
|
||||
+ interface Windows.Foundation.Collections.IVectorView<Gamepad*>;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+namespace Windows {
|
||||
+ namespace Gaming {
|
||||
+ namespace Input {
|
||||
+ [
|
||||
+ contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
+ flags
|
||||
+ ]
|
||||
+ enum GamepadButtons
|
||||
+ {
|
||||
+ None = 0x0,
|
||||
+ Menu = 0x1,
|
||||
+ View = 0x2,
|
||||
+ A = 0x4,
|
||||
+ B = 0x8,
|
||||
+ X = 0x10,
|
||||
+ Y = 0x20,
|
||||
+ DPadUp = 0x40,
|
||||
+ DPadDown = 0x80,
|
||||
+ DPadLeft = 0x100,
|
||||
+ DPadRight = 0x200,
|
||||
+ LeftShoulder = 0x400,
|
||||
+ RightShoulder = 0x800,
|
||||
+ LeftThumbstick = 0x1000,
|
||||
+ RightThumbstick = 0x2000,
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||
+ Paddle1 = 0x4000,
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||
+ Paddle2 = 0x8000,
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||
+ Paddle3 = 0x10000,
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 3.0)]
|
||||
+ Paddle4 = 0x20000
|
||||
+ };
|
||||
+
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
+ struct GamepadReading
|
||||
+ {
|
||||
+ UINT64 Timestamp;
|
||||
+ Windows.Gaming.Input.GamepadButtons Buttons;
|
||||
+ DOUBLE LeftTrigger;
|
||||
+ DOUBLE RightTrigger;
|
||||
+ DOUBLE LeftThumbstickX;
|
||||
+ DOUBLE LeftThumbstickY;
|
||||
+ DOUBLE RightThumbstickX;
|
||||
+ DOUBLE RightThumbstickY;
|
||||
+ };
|
||||
+
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
+ struct GamepadVibration
|
||||
+ {
|
||||
+ DOUBLE LeftMotor;
|
||||
+ DOUBLE RightMotor;
|
||||
+ DOUBLE LeftTrigger;
|
||||
+ DOUBLE RightTrigger;
|
||||
+ };
|
||||
+
|
||||
+ [
|
||||
+ contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
+ exclusiveto(Windows.Gaming.Input.Gamepad),
|
||||
+ uuid(bc7bb43c-0a69-3903-9e9d-a50f86a45de5)
|
||||
+ ]
|
||||
+ interface IGamepad : IInspectable
|
||||
+ requires Windows.Gaming.Input.IGameController
|
||||
+ {
|
||||
+ [propget] HRESULT Vibration([out, retval] Windows.Gaming.Input.GamepadVibration* value);
|
||||
+ [propput] HRESULT Vibration([in] Windows.Gaming.Input.GamepadVibration value);
|
||||
+ HRESULT GetCurrentReading([out, retval] Windows.Gaming.Input.GamepadReading* value);
|
||||
+ }
|
||||
+
|
||||
+ [
|
||||
+ object,
|
||||
+ uuid(8bbce529-d49c-39e9-9560-e47dde96b7c8)
|
||||
+ ]
|
||||
+ interface IGamepadStatics : IInspectable
|
||||
+ {
|
||||
+ [eventadd] HRESULT GamepadAdded([in] Windows.Foundation.EventHandler<Gamepad*> *value, [out, retval] EventRegistrationToken* token);
|
||||
+ [eventremove] HRESULT GamepadAdded([in] EventRegistrationToken token);
|
||||
+ [eventadd] HRESULT GamepadRemoved([in] Windows.Foundation.EventHandler<Gamepad*> *value, [out, retval] EventRegistrationToken* token);
|
||||
+ [eventremove] HRESULT GamepadRemoved([in] EventRegistrationToken token);
|
||||
+ [propget] HRESULT Gamepads([out, retval] Windows.Foundation.Collections.IVectorView<Gamepad*> **value);
|
||||
+ }
|
||||
+
|
||||
+ [
|
||||
+ contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
+ marshaling_behavior(agile),
|
||||
+ static(Windows.Gaming.Input.IGamepadStatics, Windows.Foundation.UniversalApiContract, 1.0),
|
||||
+ static(Windows.Gaming.Input.IGamepadStatics2, Windows.Foundation.UniversalApiContract, 4.0),
|
||||
+ threading(both)
|
||||
+ ]
|
||||
+ runtimeclass Gamepad
|
||||
+ {
|
||||
+ [default] interface Windows.Gaming.Input.IGamepad;
|
||||
+ interface Windows.Gaming.Input.IGameController;
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Gaming.Input.IGamepad2;
|
||||
+ [contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
|
||||
index 4cef944fb88..a1cc73d6e57 100644
|
||||
--- a/loader/wine.inf.in
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 3398500d3ed2a90361d431d2fb630b60a6d7e8be Mon Sep 17 00:00:00 2001
|
||||
From 1f15403b2743fa55e204fd42049df117acee6e78 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
|
||||
Date: Mon, 12 Oct 2020 12:50:32 +0200
|
||||
Subject: [PATCH] windows.gaming.input: Implement IRawGameControllerStatics
|
||||
@ -189,7 +189,7 @@ index dec9d39e7a3..1a40a8ddc35 100644
|
||||
0
|
||||
};
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index 71afc8c0c99..22ed5f3a2d5 100644
|
||||
index 1c80421ef6f..ab49ee0e4b3 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -20,6 +20,7 @@ SOURCES = \
|
||||
@ -200,7 +200,7 @@ index 71afc8c0c99..22ed5f3a2d5 100644
|
||||
asynot.idl \
|
||||
asysta.idl \
|
||||
atlbase.h \
|
||||
@@ -750,8 +751,10 @@ SOURCES = \
|
||||
@@ -751,8 +752,10 @@ SOURCES = \
|
||||
windows.foundation.collections.idl \
|
||||
windows.foundation.idl \
|
||||
windows.gaming.input.idl \
|
||||
@ -302,7 +302,7 @@ index ba860a1e82e..2562d34791f 100644
|
||||
{
|
||||
[
|
||||
diff --git a/include/windows.foundation.idl b/include/windows.foundation.idl
|
||||
index 90bbc876339..2bed3d54cda 100644
|
||||
index 3c60278cf05..b06b9eadaf4 100644
|
||||
--- a/include/windows.foundation.idl
|
||||
+++ b/include/windows.foundation.idl
|
||||
@@ -21,7 +21,7 @@
|
||||
@ -314,7 +314,7 @@ index 90bbc876339..2bed3d54cda 100644
|
||||
import "windowscontracts.idl";
|
||||
/* import "eventtoken.idl"; */
|
||||
/* import "ivectorchangedeventargs.idl"; */
|
||||
@@ -119,3 +119,12 @@ namespace Windows {
|
||||
@@ -114,3 +114,12 @@ namespace Windows {
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -445,11 +445,11 @@ index 00000000000..fa9da2f7656
|
||||
+ }
|
||||
+}
|
||||
diff --git a/include/windows.gaming.input.idl b/include/windows.gaming.input.idl
|
||||
index b5af4e24a66..36d4038ed1f 100644
|
||||
index 1da22408eeb..90c1f02bd9d 100644
|
||||
--- a/include/windows.gaming.input.idl
|
||||
+++ b/include/windows.gaming.input.idl
|
||||
@@ -22,11 +22,16 @@
|
||||
|
||||
@@ -23,11 +23,16 @@
|
||||
import "eventtoken.idl";
|
||||
import "inspectable.idl";
|
||||
import "windows.foundation.idl";
|
||||
+import "windows.system.idl";
|
||||
@ -465,7 +465,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
typedef struct GamepadReading GamepadReading;
|
||||
typedef struct GamepadVibration GamepadVibration;
|
||||
interface IGameController;
|
||||
@@ -35,7 +40,11 @@ namespace Windows {
|
||||
@@ -36,7 +41,11 @@ namespace Windows {
|
||||
interface IGamepad2;
|
||||
interface IGamepadStatics;
|
||||
interface IGamepadStatics2;
|
||||
@ -477,7 +477,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -45,7 +54,11 @@ namespace Windows {
|
||||
@@ -46,7 +55,11 @@ namespace Windows {
|
||||
namespace Input {
|
||||
declare {
|
||||
interface Windows.Foundation.EventHandler<Windows.Gaming.Input.Gamepad*>;
|
||||
@ -489,7 +489,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -85,6 +98,102 @@ namespace Windows {
|
||||
@@ -86,6 +99,102 @@ namespace Windows {
|
||||
Paddle4 = 0x20000
|
||||
};
|
||||
|
||||
@ -592,7 +592,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
[contract(Windows.Foundation.UniversalApiContract, 1.0)]
|
||||
struct GamepadReading
|
||||
{
|
||||
@@ -107,6 +216,23 @@ namespace Windows {
|
||||
@@ -108,6 +217,23 @@ namespace Windows {
|
||||
DOUBLE RightTrigger;
|
||||
};
|
||||
|
||||
@ -616,7 +616,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
exclusiveto(Windows.Gaming.Input.Gamepad),
|
||||
@@ -120,6 +246,25 @@ namespace Windows {
|
||||
@@ -121,6 +247,25 @@ namespace Windows {
|
||||
HRESULT GetCurrentReading([out, retval] Windows.Gaming.Input.GamepadReading* value);
|
||||
}
|
||||
|
||||
@ -642,7 +642,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
[
|
||||
object,
|
||||
uuid(8bbce529-d49c-39e9-9560-e47dde96b7c8)
|
||||
@@ -133,6 +278,31 @@ namespace Windows {
|
||||
@@ -134,6 +279,31 @@ namespace Windows {
|
||||
[propget] HRESULT Gamepads([out, retval] Windows.Foundation.Collections.IVectorView<Gamepad*> **value);
|
||||
}
|
||||
|
||||
@ -674,7 +674,7 @@ index b5af4e24a66..36d4038ed1f 100644
|
||||
[
|
||||
contract(Windows.Foundation.UniversalApiContract, 1.0),
|
||||
marshaling_behavior(agile),
|
||||
@@ -147,6 +317,31 @@ namespace Windows {
|
||||
@@ -148,6 +318,31 @@ namespace Windows {
|
||||
[contract(Windows.Foundation.UniversalApiContract, 3.0)] interface Windows.Gaming.Input.IGamepad2;
|
||||
[contract(Windows.Foundation.UniversalApiContract, 4.0)] interface Windows.Gaming.Input.IGameControllerBatteryInfo;
|
||||
}
|
||||
|
@ -1 +1 @@
|
||||
4d5824112e13160e538013a25f1c13a124565180
|
||||
2828d0820a1661e46f606f28db090d710cef11f4
|
||||
|
Loading…
Reference in New Issue
Block a user