Compare commits

...

13 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes
8a7297ab71 Release v8.0-rc5 2023-01-22 14:05:19 +11:00
Alistair Leslie-Hughes
8937409359 Release v8.0-rc4 2023-01-15 12:47:55 +11:00
Alistair Leslie-Hughes
0a970828aa Updated msxml3-FreeThreadedXMLHTTP60 patchset
This allows Tonk Hawk 1+2 on EGS connect to it's servers succesfully.

It would error on SetProperty, and then abort the connection.
2023-01-12 09:32:32 +11:00
Alistair Leslie-Hughes
dc27f103e5 Release v8.0-rc3 2023-01-08 13:13:51 +11:00
Paul Gofman
d1bde95011 Updated ntdll-NtDevicePath patchset. 2023-01-06 16:50:07 -06:00
Alistair Leslie-Hughes
90d6184697 Updated winex11-_NET_ACTIVE_WINDOW patchset
Thanks Gabriel Ivăncescu.
2023-01-06 08:02:06 +11:00
Alistair Leslie-Hughes
d10f51a658 Updated ntdll-Junction_Points patchset
Reorder patch to ensure regression testing can be performed.
2022-12-29 10:15:03 +11:00
Dean M Greer
bad4d30c2c macOS.yml: Skip running 'brew update' 2022-12-24 17:57:12 +00:00
Alistair Leslie-Hughes
3a1f2a42bb Release v8.0-rc2 2022-12-22 21:13:49 +11:00
Alistair Leslie-Hughes
3aca66f24e Rebase against 2b0cd25b5f5794463a59cac999583fb52fa021cc. 2022-12-20 10:58:41 +11:00
Alistair Leslie-Hughes
32c64aa429 Rebase against 17e5ff74308f41ab662d46f684db2c6023a4a16b. 2022-12-17 17:40:41 +11:00
Paul Gofman
ffc4a7a5a0 Update and reenable ntdll-NtDevicePath patchset. 2022-12-15 16:06:29 -06:00
Alistair Leslie-Hughes
13c3e61937 Rebase against ec62575e9d99fc35752760cc37ded207febdfd11. 2022-12-14 13:25:45 +11:00
16 changed files with 396 additions and 80 deletions

View File

@@ -14,7 +14,6 @@ jobs:
- name: Install dependencies
run: |
brew update
brew install --cask xquartz
brew install bison \
gphoto2 \

View File

@@ -1,4 +1,4 @@
From c4a4d47fb07faee6ef6d20b967e21eafe6a60ea4 Mon Sep 17 00:00:00 2001
From f57e7a06cffc47773c647a10ed4d298b58fbd408 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Tue, 9 Jul 2019 14:13:28 +1000
Subject: [PATCH] user32: Do not enumerate the registry in
@@ -13,7 +13,7 @@ not the complete list from the registry.
3 files changed, 36 insertions(+), 33 deletions(-)
diff --git a/dlls/user32/input.c b/dlls/user32/input.c
index bb7477ed482..55ab8d246e7 100644
index c5387cf9212..2507a86e3b6 100644
--- a/dlls/user32/input.c
+++ b/dlls/user32/input.c
@@ -494,7 +494,6 @@ BOOL WINAPI UnloadKeyboardLayout( HKL layout )
@@ -25,11 +25,11 @@ index bb7477ed482..55ab8d246e7 100644
* EnableMouseInPointer (USER32.@)
*/
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c
index 8477645fad5..e92548c7402 100644
index bf913b8e6a6..8ac46bedc71 100644
--- a/dlls/user32/tests/input.c
+++ b/dlls/user32/tests/input.c
@@ -4566,6 +4566,40 @@ static void test_SendInput(void)
DestroyWindow( hwnd );
@@ -4837,6 +4837,40 @@ static void test_EnableMouseInPointer( char **argv, BOOL enable )
CloseHandle( info.hProcess );
}
+static void test_GetKeyboardLayoutList(void)
@@ -69,7 +69,7 @@ index 8477645fad5..e92548c7402 100644
START_TEST(input)
{
char **argv;
@@ -4608,6 +4642,7 @@ START_TEST(input)
@@ -4887,6 +4921,7 @@ START_TEST(input)
test_GetRawInputBuffer();
test_RegisterRawInputDevices();
test_rawinput(argv[0]);
@@ -78,7 +78,7 @@ index 8477645fad5..e92548c7402 100644
if(pGetMouseMovePointsEx)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
index f3b724e7010..a971e1ee776 100644
index fd16d03f733..fb452843803 100644
--- a/dlls/win32u/input.c
+++ b/dlls/win32u/input.c
@@ -934,11 +934,7 @@ HKL WINAPI NtUserActivateKeyboardLayout( HKL layout, UINT flags )
@@ -129,5 +129,5 @@ index f3b724e7010..a971e1ee776 100644
return count;
--
2.37.2
2.39.0

View File

@@ -0,0 +1,37 @@
From 5aa6c213ced971079f236acfe25437f5d49cebbf Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Tue, 10 Jan 2023 16:22:14 +1100
Subject: [PATCH 1/4] include: Add _XHR enum values
---
include/msxml6.idl | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/include/msxml6.idl b/include/msxml6.idl
index 4672ae80626..aa03a8a310a 100644
--- a/include/msxml6.idl
+++ b/include/msxml6.idl
@@ -256,6 +256,20 @@ typedef enum _SCHEMATYPEVARIETY
} SCHEMATYPEVARIETY;
cpp_quote("#endif /* __msxml_som_enums__ */")
+typedef [v1_enum] enum _XHR_CRED_PROMPT
+{
+ XHR_CRED_PROMPT_ALL = 0x0,
+ XHR_CRED_PROMPT_NONE = 0x1,
+ XHR_CRED_PROMPT_PROXY = 0x2,
+} XHR_CRED_PROMPT;
+
+typedef [v1_enum] enum _XHR_AUTH
+{
+ XHR_AUTH_ALL = 0x0,
+ XHR_AUTH_NONE = 0x1,
+ XHR_AUTH_PROXY = 0x2,
+} XHR_AUTH;
+
typedef [v1_enum] enum _XHR_PROPERTY
{
XHR_PROP_NO_CRED_PROMPT,
--
2.39.0

View File

@@ -0,0 +1,114 @@
From b6db59b7d1a7ca08a2cb3c0fb52145fa89cd2e17 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 5 Jan 2023 14:36:31 +1100
Subject: [PATCH 2/4] msxml3: Implement IXMLHTTPRequest3 SetProperty
---
dlls/msxml3/httprequest.c | 77 ++++++++++++++++++++++++++++++++++++++-
1 file changed, 75 insertions(+), 2 deletions(-)
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index 98dd23c9fbb..d8360680411 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -102,6 +102,21 @@ typedef struct
/* IObjectSafety */
DWORD safeopt;
+
+ /* Properties */
+ DWORD no_prompt;
+ DWORD no_auth;
+ DWORD timeout;
+ BOOL no_headeres;
+ BOOL redirect;
+ BOOL cache;
+ BOOL extended;
+ BOOL query_utf8;
+ BOOL ignore_errors;
+ BOOL threshold;
+ DWORD enterrprised_id;
+ DWORD max_connections;
+
} httprequest;
typedef struct
@@ -2230,8 +2245,52 @@ static HRESULT WINAPI xml_http_request_2_SetCustomResponseStream(IXMLHTTPRequest
static HRESULT WINAPI xml_http_request_2_SetProperty(IXMLHTTPRequest3 *iface, XHR_PROPERTY property, ULONGLONG value)
{
struct xml_http_request_2 *This = impl_from_IXMLHTTPRequest3(iface);
- FIXME("(%p)->(%#x %s) stub!\n", This, property, wine_dbgstr_longlong( value ));
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%#x %s) stub!\n", This, property, wine_dbgstr_longlong( value ));
+
+ switch (property)
+ {
+ case XHR_PROP_NO_CRED_PROMPT:
+ This->req.no_prompt = value;
+ break;
+ case XHR_PROP_NO_AUTH:
+ This->req.no_auth = value;
+ break;
+ case XHR_PROP_TIMEOUT:
+ This->req.timeout = value;
+ break;
+ case XHR_PROP_NO_DEFAULT_HEADERS:
+ This->req.no_headeres = value != 0;
+ break;
+ case XHR_PROP_REPORT_REDIRECT_STATUS:
+ This->req.redirect = value != 0;
+ break;
+ case XHR_PROP_NO_CACHE:
+ This->req.cache = value != 0;
+ break;
+ case XHR_PROP_EXTENDED_ERROR:
+ This->req.extended = value != 0;
+ break;
+ case XHR_PROP_QUERY_STRING_UTF8:
+ This->req.query_utf8 = value != 0;
+ break;
+ case XHR_PROP_IGNORE_CERT_ERRORS:
+ This->req.ignore_errors = value != 0;
+ break;
+ case XHR_PROP_ONDATA_THRESHOLD:
+ This->req.threshold = value;
+ break;
+ case XHR_PROP_SET_ENTERPRISEID:
+ This->req.enterrprised_id = value;
+ break;
+ case XHR_PROP_MAX_CONNECTIONS:
+ This->req.max_connections = value;
+ break;
+ default:
+ WARN("Invalid property %#x\n", property);
+ return E_INVALIDARG;
+ }
+ return S_OK;
}
static HRESULT WINAPI xml_http_request_2_SetRequestHeader(IXMLHTTPRequest3 *iface,
@@ -2551,6 +2610,20 @@ static void init_httprequest(httprequest *req)
req->site = NULL;
req->safeopt = 0;
+
+ /* Properties */
+ req->no_prompt = XHR_CRED_PROMPT_ALL;
+ req->no_auth = XHR_AUTH_ALL;
+ req->timeout = 0xFFFFFFFF;
+ req->no_headeres = FALSE;
+ req->redirect = FALSE;
+ req->cache = FALSE;
+ req->extended = FALSE;
+ req->query_utf8 = FALSE;;
+ req->ignore_errors = FALSE;;
+ req->threshold = 0x100;
+ req->enterrprised_id = 0;
+ req->max_connections = 10;
}
HRESULT XMLHTTPRequest_create(void **obj)
--
2.39.0

View File

@@ -0,0 +1,91 @@
From ca9c7d377e3e5e9689d67fbb9622ac1554442cdc Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 5 Jan 2023 14:36:08 +1100
Subject: [PATCH 3/4] msxml3: Copy body size to request object
Dont assume that the data needs to be convert
NOTE: should use SetProperty value.
---
dlls/msxml3/httprequest.c | 44 ++++++++++++++++++++++++++-------------
1 file changed, 30 insertions(+), 14 deletions(-)
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index d8360680411..48ed444576e 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -117,6 +117,7 @@ typedef struct
DWORD enterrprised_id;
DWORD max_connections;
+ ULONGLONG request_body_size;
} httprequest;
typedef struct
@@ -737,27 +738,40 @@ static HRESULT BindStatusCallback_create(httprequest* This, BindStatusCallback *
{
case VT_BSTR:
{
- int len = SysStringLen(V_BSTR(body));
- const WCHAR *str = V_BSTR(body);
- UINT i, cp = CP_ACP;
+ int len = This->request_body_size ? This->request_body_size : SysStringLen(V_BSTR(body));
- for (i = 0; i < len; i++)
+ if(!This->request_body_size)
{
- if (str[i] > 127)
+ const WCHAR *str = V_BSTR(body);
+ UINT i, cp = CP_ACP;
+
+ for (i = 0; i < len; i++)
+ {
+ if (str[i] > 127)
+ {
+ cp = CP_UTF8;
+ break;
+ }
+ }
+ size = WideCharToMultiByte(cp, 0, str, len, NULL, 0, NULL, NULL);
+ if (!(ptr = heap_alloc(size)))
{
- cp = CP_UTF8;
- break;
+ heap_free(bsc);
+ return E_OUTOFMEMORY;
}
+ WideCharToMultiByte(cp, 0, str, len, ptr, size, NULL, NULL);
+ if (cp == CP_UTF8) This->use_utf8_content = TRUE;
}
-
- size = WideCharToMultiByte(cp, 0, str, len, NULL, 0, NULL, NULL);
- if (!(ptr = heap_alloc(size)))
+ else
{
- heap_free(bsc);
- return E_OUTOFMEMORY;
+ size = This->request_body_size;
+ if (!(ptr = heap_alloc(size)))
+ {
+ heap_free(bsc);
+ return E_OUTOFMEMORY;
+ }
+ memcpy(ptr, V_BSTR(body), size);
}
- WideCharToMultiByte(cp, 0, str, len, ptr, size, NULL, NULL);
- if (cp == CP_UTF8) This->use_utf8_content = TRUE;
break;
}
case VT_ARRAY|VT_UI1:
@@ -2436,6 +2450,8 @@ static HRESULT WINAPI xml_http_request_2_IRtwqAsyncCallback_Invoke(IRtwqAsyncCal
ISequentialStream_Release(This->request_body);
This->request_body = NULL;
+
+ This->req.request_body_size = This->request_body_size;
}
hr = httprequest_send(&This->req, body_v);
--
2.39.0

View File

@@ -0,0 +1,26 @@
From a4077e33ab9e41927433479a9a8af9ed11990c04 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Thu, 12 Jan 2023 08:21:48 +1100
Subject: [PATCH 4/4] msxml3: Correct xml_http_request_2_GetResponseHeader
---
dlls/msxml3/httprequest.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index 48ed444576e..111ac39f62f 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -2339,8 +2339,7 @@ static HRESULT WINAPI xml_http_request_2_GetResponseHeader(IXMLHTTPRequest3 *ifa
TRACE("(%p)->(%s %p)\n", This, debugstr_w(header), value);
- if (FAILED(hr = httprequest_getResponseHeader(&This->req, (BSTR)header, value)))
- return hr;
+ hr = httprequest_getResponseHeader(&This->req, (BSTR)header, value);
#define E_FILE_NOT_FOUND _HRESULT_TYPEDEF_(0x80070002)
--
2.39.0

View File

@@ -1,18 +1,18 @@
From f3656ad722d12021db19a015a57fa9d2b9e72622 Mon Sep 17 00:00:00 2001
From 7bbc11e52188ec7babe97270f03e2e5015ac22ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 26 May 2017 05:17:17 +0200
Date: Tue, 30 Nov 2021 16:32:34 +0300
Subject: [PATCH] ntdll: Implement opening files through nt device paths.
---
dlls/ntdll/tests/file.c | 25 +++++++-
dlls/ntdll/unix/file.c | 124 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 146 insertions(+), 3 deletions(-)
dlls/ntdll/unix/file.c | 134 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 156 insertions(+), 3 deletions(-)
diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c
index 839046a7488..8756c18c9e8 100644
index 640fd2d81db..e8e8652334e 100644
--- a/dlls/ntdll/tests/file.c
+++ b/dlls/ntdll/tests/file.c
@@ -135,18 +135,22 @@ static void WINAPI apc( void *arg, IO_STATUS_BLOCK *iosb, ULONG reserved )
@@ -137,18 +137,22 @@ static void WINAPI apc( void *arg, IO_STATUS_BLOCK *iosb, ULONG reserved )
static void create_file_test(void)
{
@@ -36,10 +36,10 @@ index 839046a7488..8756c18c9e8 100644
OBJECT_ATTRIBUTES attr;
IO_STATUS_BLOCK io;
UNICODE_STRING nameW;
@@ -326,6 +330,25 @@ static void create_file_test(void)
@@ -328,6 +332,25 @@ static void create_file_test(void)
status = pNtQueryFullAttributesFile( &attr, &info );
ok( status == STATUS_OBJECT_NAME_INVALID,
"query %s failed %x\n", wine_dbgstr_w(nameW.Buffer), status );
"query %s failed %lx\n", wine_dbgstr_w(nameW.Buffer), status );
+
+ GetWindowsDirectoryW( path, MAX_PATH );
+ path[2] = 0;
@@ -63,24 +63,31 @@ index 839046a7488..8756c18c9e8 100644
static void open_file_test(void)
diff --git a/dlls/ntdll/unix/file.c b/dlls/ntdll/unix/file.c
index d3750109a79..6250ada9570 100644
index 67e0c6f0b40..25a03ef84f1 100644
--- a/dlls/ntdll/unix/file.c
+++ b/dlls/ntdll/unix/file.c
@@ -3297,8 +3297,8 @@ static NTSTATUS nt_to_unix_file_name_attr( const OBJECT_ATTRIBUTES *attr, char *
@@ -4494,7 +4494,7 @@ static NTSTATUS nt_to_unix_file_name_no_root( FILE_OBJECT *fileobj, char **unix_
/******************************************************************************
- * nt_to_unix_file_name
+ * nt_to_unix_file_name_internal
*
* Convert a file name from NT namespace to Unix namespace.
*
@@ -4502,7 +4502,7 @@ static NTSTATUS nt_to_unix_file_name_no_root( FILE_OBJECT *fileobj, char **unix_
* element doesn't have to exist; in that case STATUS_NO_SUCH_FILE is
* returned, but the unix name is still filled in properly.
*/
-NTSTATUS nt_to_unix_file_name( const UNICODE_STRING *nameW, char **unix_name_ret,
- UNICODE_STRING *nt_name, UINT disposition )
+static NTSTATUS nt_to_unix_file_name_internal( const UNICODE_STRING *nameW, char **unix_name_ret,
+ UNICODE_STRING *nt_name, UINT disposition )
-NTSTATUS nt_to_unix_file_name( const OBJECT_ATTRIBUTES *attr, char **name_ret, UINT disposition )
+NTSTATUS nt_to_unix_file_name_internal( const OBJECT_ATTRIBUTES *attr, char **name_ret, UINT disposition )
{
static const WCHAR unixW[] = {'u','n','i','x'};
static const WCHAR pipeW[] = {'p','i','p','e'};
@@ -3436,6 +3436,126 @@ NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, char *nam
return status;
HANDLE rootdir = attr->RootDirectory;
enum server_fd_type type;
@@ -4581,6 +4581,136 @@ reparse:
}
+/* read the contents of an NT symlink object */
+static NTSTATUS read_nt_symlink( HANDLE root, UNICODE_STRING *name, WCHAR *target, size_t length )
+{
@@ -147,7 +154,7 @@ index d3750109a79..6250ada9570 100644
+}
+
+/******************************************************************************
+ * nt_to_unix_file_name (NTDLL.@) Not a Windows API
+ * nt_to_unix_file_name
+ *
+ * Convert a file name from NT namespace to Unix namespace.
+ *
@@ -155,34 +162,40 @@ index d3750109a79..6250ada9570 100644
+ * element doesn't have to exist; in that case STATUS_NO_SUCH_FILE is
+ * returned, but the unix name is still filled in properly.
+ */
+NTSTATUS nt_to_unix_file_name( const UNICODE_STRING *nameW, char **unix_name_ret,
+ UNICODE_STRING *nt_name, UINT disposition )
+NTSTATUS nt_to_unix_file_name( const OBJECT_ATTRIBUTES *attr, char **name_ret, UINT disposition )
+{
+ static const WCHAR systemrootW[] = {'\\','S','y','s','t','e','m','R','o','o','t','\\',0};
+ static const WCHAR dosprefixW[] = {'\\','?','?','\\'};
+ static const WCHAR deviceW[] = {'\\','D','e','v','i','c','e','\\',0};
+ WCHAR *name, *ptr, *prefix, buffer[3] = {'c',':',0};
+ UNICODE_STRING dospathW;
+ UNICODE_STRING dospathW, *nameW;
+ OBJECT_ATTRIBUTES attr_copy;
+ size_t offset, name_len;
+ NTSTATUS status;
+
+ if (!wcsnicmp( nameW->Buffer, deviceW, nameW->Length / sizeof(WCHAR) ))
+ if (attr->RootDirectory) return nt_to_unix_file_name_internal( attr, name_ret, disposition );
+
+ nameW = attr->ObjectName;
+
+ if (nameW->Length >= sizeof(deviceW) - sizeof(WCHAR)
+ && !wcsnicmp( nameW->Buffer, deviceW, ARRAY_SIZE(deviceW) - 1 ))
+ {
+ offset = sizeof(deviceW) / sizeof(WCHAR);
+ while (offset * sizeof(WCHAR) < nameW->Length && nameW->Buffer[ offset ] != '\\') offset++;
+ if ((status = nt_to_dos_device( nameW->Buffer, offset, buffer ))) return status;
+ prefix = buffer;
+ }
+ else if (!wcsnicmp( nameW->Buffer, systemrootW, nameW->Length / sizeof(WCHAR) ))
+ else if (nameW->Length >= sizeof(systemrootW) - sizeof(WCHAR) &&
+ !wcsnicmp( nameW->Buffer, systemrootW, ARRAY_SIZE(systemrootW) - 1 ))
+ {
+ offset = (sizeof(systemrootW) - 1) / sizeof(WCHAR);
+ prefix = user_shared_data->NtSystemRoot;
+ }
+ else
+ return nt_to_unix_file_name_internal( nameW, unix_name_ret, nt_name, disposition );
+ return nt_to_unix_file_name_internal( attr, name_ret, disposition );
+
+ name_len = sizeof(dosprefixW) + wcslen(prefix) * sizeof(WCHAR) +
+ nameW->Length - offset * sizeof(WCHAR) + sizeof(WCHAR);
+ name_len = sizeof(dosprefixW) + wcslen(prefix) * sizeof(WCHAR)
+ + sizeof(WCHAR) /* '\\' */ + nameW->Length - offset * sizeof(WCHAR) + sizeof(WCHAR);
+ if (!(name = malloc( name_len )))
+ return STATUS_NO_MEMORY;
+
@@ -191,19 +204,23 @@ index d3750109a79..6250ada9570 100644
+ ptr += sizeof(dosprefixW) / sizeof(WCHAR);
+ wcscpy( ptr, prefix );
+ ptr += wcslen(ptr);
+ *ptr++ = '\\';
+ memcpy( ptr, nameW->Buffer + offset, nameW->Length - offset * sizeof(WCHAR) );
+ ptr[ nameW->Length / sizeof(WCHAR) - offset ] = 0;
+
+ dospathW.Buffer = name;
+ dospathW.Length = wcslen( name ) * sizeof(WCHAR);
+ status = nt_to_unix_file_name_internal( &dospathW, unix_name_ret, nt_name, disposition );
+ attr_copy = *attr;
+ attr_copy.ObjectName = &dospathW;
+ status = nt_to_unix_file_name_internal( &attr_copy, name_ret, disposition );
+
+ free( name );
+ return status;
+}
/******************************************************************
* collapse_path
+
/******************************************************************************
* wine_nt_to_unix_file_name
*
--
2.30.2
2.38.1

View File

@@ -1,4 +1,2 @@
Fixes: [37487] Resolve \\SystemRoot\\ prefix when opening files
Fixes: Implement opening files through nt device paths
# Temporarily disabled until the upstream code stops being thrashed.
Disabled: true

View File

@@ -1,4 +1,4 @@
From 0e455713af03b7f91fea4332c893390a8de8ca44 Mon Sep 17 00:00:00 2001
From 7e1c63548513ec95978c5cbc428555ac5ed7c1d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 17 Jan 2016 00:50:50 +0100
Subject: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity.
@@ -20,20 +20,20 @@ index 90deb5865f8..428ebde23b3 100644
C_SRCS = \
atom.c \
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index 2e0bfb650e4..cdb159479f2 100644
index 1e5e8c2580c..3690402c268 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -27,6 +27,9 @@
#include "in6addr.h"
@@ -28,6 +28,9 @@
#include "inaddr.h"
#include "ip2string.h"
#include "wine/asm.h"
+#include "initguid.h"
+#define COBJMACROS
+#include "shobjidl.h"
#ifndef __WINE_WINTERNL_H
@@ -80,6 +83,9 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *);
@@ -95,6 +98,9 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *);
static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION *);
static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG);
static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *);
@@ -43,7 +43,7 @@ index 2e0bfb650e4..cdb159479f2 100644
static NTSTATUS (WINAPI *pLdrRegisterDllNotification)(ULONG, PLDR_DLL_NOTIFICATION_FUNCTION, void *, void **);
static NTSTATUS (WINAPI *pLdrUnregisterDllNotification)(void *);
@@ -120,6 +126,9 @@ static void InitFunctionPtrs(void)
@@ -137,6 +143,9 @@ static void InitFunctionPtrs(void)
pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread");
pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx");
pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules");
@@ -53,7 +53,7 @@ index 2e0bfb650e4..cdb159479f2 100644
pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification");
pLdrUnregisterDllNotification = (void *)GetProcAddress(hntdll, "LdrUnregisterDllNotification");
}
@@ -3730,6 +3739,76 @@ static void test_RtlFirstFreeAce(void)
@@ -3775,6 +3784,76 @@ static void test_RtlFirstFreeAce(void)
HeapFree(GetProcessHeap(), 0, acl);
}
@@ -130,7 +130,7 @@ index 2e0bfb650e4..cdb159479f2 100644
START_TEST(rtl)
{
InitFunctionPtrs();
@@ -3769,6 +3848,7 @@ START_TEST(rtl)
@@ -3814,6 +3893,7 @@ START_TEST(rtl)
test_RtlInitializeCriticalSectionEx();
test_RtlLeaveCriticalSection();
test_LdrEnumerateLoadedModules();
@@ -139,5 +139,5 @@ index 2e0bfb650e4..cdb159479f2 100644
test_LdrRegisterDllNotification();
test_DbgPrint();
--
2.35.1
2.39.0

View File

@@ -51,13 +51,13 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "772badd0d7f3286a7881a71f16fad417e2d7787d"
echo "eb3355bcf801b5484aa1ca968fdb051fe5a94bb5"
}
# Show version information
version()
{
echo "Wine Staging 8.0-rc1"
echo "Wine Staging 8.0-rc5"
echo "Copyright (C) 2014-2019 the Wine Staging project authors."
echo "Copyright (C) 2018-2020 Alistair Leslie-Hughes"
echo ""
@@ -138,6 +138,7 @@ patch_enable_all ()
enable_ntdll_Hide_Wine_Exports="$1"
enable_ntdll_Junction_Points="$1"
enable_ntdll_Manifest_Range="$1"
enable_ntdll_NtDevicePath="$1"
enable_ntdll_NtQuerySection="$1"
enable_ntdll_NtSetLdtEntries="$1"
enable_ntdll_Placeholders="$1"
@@ -425,6 +426,9 @@ patch_enable ()
ntdll-Manifest_Range)
enable_ntdll_Manifest_Range="$2"
;;
ntdll-NtDevicePath)
enable_ntdll_NtDevicePath="$2"
;;
ntdll-NtQuerySection)
enable_ntdll_NtQuerySection="$2"
;;
@@ -1632,6 +1636,7 @@ fi
# | server/file.c, server/protocol.def
# |
if test "$enable_ntdll_Junction_Points" -eq 1; then
patch_apply ntdll-Junction_Points/0000-include-Add-ntifs.h.patch
patch_apply ntdll-Junction_Points/0001-ntdll-Add-support-for-creating-reparse-points.patch
patch_apply ntdll-Junction_Points/0002-ntdll-Add-support-for-reading-reparse-points.patch
patch_apply ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-reparse-points.patch
@@ -1657,7 +1662,6 @@ if test "$enable_ntdll_Junction_Points" -eq 1; then
patch_apply ntdll-Junction_Points/0023-wcmd-Add-junction-point-support-to-mklink.patch
patch_apply ntdll-Junction_Points/0024-ntdll-Add-support-for-creating-Unix-Linux-symlinks.patch
patch_apply ntdll-Junction_Points/0025-ntdll-Report-regular-Unix-symlinks-as-WSL-Linux-Unix.patch
patch_apply ntdll-Junction_Points/0026-include-Add-ntifs.h.patch
fi
# Patchset server-PeekMessage
@@ -2043,6 +2047,10 @@ fi
if test "$enable_msxml3_FreeThreadedXMLHTTP60" -eq 1; then
patch_apply msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch
patch_apply msxml3-FreeThreadedXMLHTTP60/0003-msxml3-Implement-FreeThreadedXMLHTTP60.patch
patch_apply msxml3-FreeThreadedXMLHTTP60/0004-include-Add-_XHR-enum-values.patch
patch_apply msxml3-FreeThreadedXMLHTTP60/0005-msxml3-Implement-IXMLHTTPRequest3-SetProperty.patch
patch_apply msxml3-FreeThreadedXMLHTTP60/0006-msxml3-Copy-body-size-to-request-object.patch
patch_apply msxml3-FreeThreadedXMLHTTP60/0007-msxml3-Correct-xml_http_request_2_GetResponseHeader.patch
fi
# Patchset ntdll-APC_Performance
@@ -2194,6 +2202,18 @@ if test "$enable_ntdll_Manifest_Range" -eq 1; then
patch_apply ntdll-Manifest_Range/0001-ntdll-Support-ISOLATIONAWARE_MANIFEST_RESOURCE_ID-ra.patch
fi
# Patchset ntdll-NtDevicePath
# |
# | This patchset fixes the following Wine bugs:
# | * [#37487] Resolve \\SystemRoot\\ prefix when opening files
# |
# | Modified files:
# | * dlls/ntdll/tests/file.c, dlls/ntdll/unix/file.c
# |
if test "$enable_ntdll_NtDevicePath" -eq 1; then
patch_apply ntdll-NtDevicePath/0001-ntdll-Implement-opening-files-through-nt-device-path.patch
fi
# Patchset ntdll-NtQuerySection
# |
# | Modified files:

View File

@@ -1,4 +1,4 @@
From aaf6709946884d010891d213b4a7f3f4b22f4ee5 Mon Sep 17 00:00:00 2001
From ce8d669795e7c7fc81189c534e16fd58c501e577 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Wed, 24 Mar 2021 23:29:28 +0100
Subject: [PATCH] user32: Set SEND_HWMSG_RAWINPUT flags only when RAWINPUT is
@@ -20,7 +20,7 @@ __wine_send_input with INPUT_HARDWARE input type and a rawinput.
9 files changed, 26 insertions(+), 15 deletions(-)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
index bc451cdd5d6..4f62fff1b83 100644
index 2ac23ba999c..2db536fc48e 100644
--- a/dlls/win32u/input.c
+++ b/dlls/win32u/input.c
@@ -131,6 +131,7 @@ UINT WINAPI NtUserSendInput( UINT count, INPUT *inputs, int size )
@@ -41,10 +41,10 @@ index bc451cdd5d6..4f62fff1b83 100644
case INPUT_HARDWARE:
RtlSetLastWin32Error( ERROR_CALL_NOT_IMPLEMENTED );
diff --git a/dlls/win32u/message.c b/dlls/win32u/message.c
index 0c6e2f262ff..921472646af 100644
index 62bd20c42aa..3e35d278fab 100644
--- a/dlls/win32u/message.c
+++ b/dlls/win32u/message.c
@@ -2605,7 +2605,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
@@ -2611,7 +2611,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
req->input.mouse.flags = input->mi.dwFlags;
req->input.mouse.time = input->mi.time;
req->input.mouse.info = input->mi.dwExtraInfo;
@@ -53,7 +53,7 @@ index 0c6e2f262ff..921472646af 100644
break;
case INPUT_KEYBOARD:
req->input.kbd.vkey = input->ki.wVk;
@@ -2613,7 +2613,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
@@ -2619,7 +2619,7 @@ NTSTATUS send_hardware_message( HWND hwnd, const INPUT *input, const RAWINPUT *r
req->input.kbd.flags = input->ki.dwFlags;
req->input.kbd.time = input->ki.time;
req->input.kbd.info = input->ki.dwExtraInfo;
@@ -147,18 +147,18 @@ index 19a974b3c24..d5c5689d396 100644
}
}
diff --git a/dlls/winemac.drv/keyboard.c b/dlls/winemac.drv/keyboard.c
index b43ea0b5dc7..539502d79d9 100644
index 76c038caf02..9e415bd70e3 100644
--- a/dlls/winemac.drv/keyboard.c
+++ b/dlls/winemac.drv/keyboard.c
@@ -990,6 +990,7 @@ void macdrv_compute_keyboard_layout(struct macdrv_thread_data *thread_data)
*/
static void macdrv_send_keyboard_input(HWND hwnd, WORD vkey, WORD scan, DWORD flags, DWORD time)
static void macdrv_send_keyboard_input(HWND hwnd, WORD vkey, WORD scan, unsigned int flags, unsigned int time)
{
+ RAWINPUT rawinput;
INPUT input;
TRACE_(key)("hwnd %p vkey=%04x scan=%04x flags=%04x\n", hwnd, vkey, scan, flags);
@@ -1001,7 +1002,7 @@ static void macdrv_send_keyboard_input(HWND hwnd, WORD vkey, WORD scan, DWORD fl
@@ -1001,7 +1002,7 @@ static void macdrv_send_keyboard_input(HWND hwnd, WORD vkey, WORD scan, unsigned
input.ki.time = time;
input.ki.dwExtraInfo = 0;
@@ -168,7 +168,7 @@ index b43ea0b5dc7..539502d79d9 100644
diff --git a/dlls/winemac.drv/mouse.c b/dlls/winemac.drv/mouse.c
index 6dd90978a93..0479bc78c2b 100644
index cb194095d55..74c329488c4 100644
--- a/dlls/winemac.drv/mouse.c
+++ b/dlls/winemac.drv/mouse.c
@@ -129,6 +129,7 @@ static const CFStringRef cocoa_cursor_names[] =
@@ -274,5 +274,5 @@ index 82a82032957..17e88f87982 100644
}
--
2.38.1
2.39.0

View File

@@ -1,4 +1,4 @@
From f678ed41b4306e31b6a95282710c2bf3a5abb1be Mon Sep 17 00:00:00 2001
From 2f009b87fbb30774851f31d537b921bf90d50e1f Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Wed, 10 Feb 2016 15:09:29 +0800
Subject: [PATCH] winex11.drv: Add support for _NET_ACTIVE_WINDOW. (v2)
@@ -8,13 +8,14 @@ And use it as a backend in user32.SetActiveWindow().
For bug #2155.
---
dlls/win32u/driver.c | 6 +++++
dlls/win32u/input.c | 2 ++
dlls/winex11.drv/event.c | 5 ++++
dlls/winex11.drv/init.c | 1 +
dlls/winex11.drv/window.c | 48 ++++++++++++++++++++++++++++++++++
dlls/winex11.drv/x11drv.h | 3 +++
dlls/winex11.drv/x11drv_main.c | 1 +
include/wine/gdi_driver.h | 1 +
7 files changed, 65 insertions(+)
8 files changed, 67 insertions(+)
diff --git a/dlls/win32u/driver.c b/dlls/win32u/driver.c
index 557d555d673..c8077a73e32 100644
@@ -47,6 +48,19 @@ index 557d555d673..c8077a73e32 100644
SET_USER_FUNC(SetCapture);
SET_USER_FUNC(SetFocus);
SET_USER_FUNC(SetLayeredWindowAttributes);
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
index fd16d03f733..8fcf1a2fb7e 100644
--- a/dlls/win32u/input.c
+++ b/dlls/win32u/input.c
@@ -1635,6 +1635,8 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
NtUserPostMessage( get_desktop_window(), WM_PARENTNOTIFY, WM_NCACTIVATE, (LPARAM)hwnd );
}
+ user_driver->pSetActiveWindow( hwnd );
+
/* now change focus if necessary */
if (focus)
{
diff --git a/dlls/winex11.drv/event.c b/dlls/winex11.drv/event.c
index 86edf66b820..f2b965706f4 100644
--- a/dlls/winex11.drv/event.c
@@ -71,10 +85,10 @@ index 86edf66b820..f2b965706f4 100644
Foreground window, because in most cases the messages sent
above must have already changed the foreground window, in which
diff --git a/dlls/winex11.drv/init.c b/dlls/winex11.drv/init.c
index ba9aff82a06..0b80a660e9a 100644
index 4ebe3a16367..1afadf626a9 100644
--- a/dlls/winex11.drv/init.c
+++ b/dlls/winex11.drv/init.c
@@ -418,6 +418,7 @@ static const struct user_driver_funcs x11drv_funcs =
@@ -415,6 +415,7 @@ static const struct user_driver_funcs x11drv_funcs =
.pMsgWaitForMultipleObjectsEx = X11DRV_MsgWaitForMultipleObjectsEx,
.pReleaseDC = X11DRV_ReleaseDC,
.pScrollDC = X11DRV_ScrollDC,
@@ -142,7 +156,7 @@ index 603314ff3bb..49ee4b75052 100644
* SetCapture (X11DRV.@)
*/
diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h
index cd5f203c377..5e9ae21ab0d 100644
index b394795a326..8da45e70179 100644
--- a/dlls/winex11.drv/x11drv.h
+++ b/dlls/winex11.drv/x11drv.h
@@ -227,6 +227,7 @@ extern void X11DRV_GetDC( HDC hdc, HWND hwnd, HWND top, const RECT *win_rect,
@@ -153,7 +167,7 @@ index cd5f203c377..5e9ae21ab0d 100644
extern void X11DRV_SetCapture( HWND hwnd, UINT flags ) DECLSPEC_HIDDEN;
extern void X11DRV_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha,
DWORD flags ) DECLSPEC_HIDDEN;
@@ -377,6 +378,7 @@ struct x11drv_thread_data
@@ -376,6 +377,7 @@ struct x11drv_thread_data
Display *display;
XEvent *current_event; /* event currently being processed */
HWND grab_hwnd; /* window that currently grabs the mouse */
@@ -161,7 +175,7 @@ index cd5f203c377..5e9ae21ab0d 100644
HWND last_focus; /* last window that had focus */
XIM xim; /* input method */
HWND last_xic_hwnd; /* last xic window */
@@ -485,6 +487,7 @@ enum x11drv_atoms
@@ -484,6 +486,7 @@ enum x11drv_atoms
XATOM__ICC_PROFILE,
XATOM__KDE_NET_WM_STATE_SKIP_SWITCHER,
XATOM__MOTIF_WM_HINTS,
@@ -194,5 +208,5 @@ index d074c09cceb..d45a894adf2 100644
void (*pSetFocus)(HWND);
void (*pSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);
--
2.38.1
2.39.0

View File

@@ -1,4 +1,4 @@
From 49cc6f9c79195d243f0e8d035267d9734708e5a5 Mon Sep 17 00:00:00 2001
From 7f524fa9868f4707d6c30af6692283dfc18e647e Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Wed, 6 Apr 2016 15:14:25 +0800
Subject: [PATCH] user32: Before asking a WM to activate a window make sure
@@ -10,10 +10,10 @@ This patch fixes iconify action using WM's taskbar buttons for Winamp.
1 file changed, 4 insertions(+)
diff --git a/dlls/win32u/input.c b/dlls/win32u/input.c
index ade8c313423..dda2a750275 100644
index 8fcf1a2fb7e..ad7afdfcc68 100644
--- a/dlls/win32u/input.c
+++ b/dlls/win32u/input.c
@@ -1377,6 +1377,10 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
@@ -1633,6 +1633,10 @@ static BOOL set_active_window( HWND hwnd, HWND *prev, BOOL mouse, BOOL focus )
(LPARAM)previous );
if (NtUserGetAncestor( hwnd, GA_PARENT ) == get_desktop_window())
NtUserPostMessage( get_desktop_window(), WM_PARENTNOTIFY, WM_NCACTIVATE, (LPARAM)hwnd );
@@ -23,7 +23,7 @@ index ade8c313423..dda2a750275 100644
+
}
/* now change focus if necessary */
user_driver->pSetActiveWindow( hwnd );
--
2.35.1
2.39.0

View File

@@ -1,2 +1,2 @@
Wine Staging 8.0-rc1
Wine Staging 8.0-rc5

View File

@@ -1 +1 @@
772badd0d7f3286a7881a71f16fad417e2d7787d
eb3355bcf801b5484aa1ca968fdb051fe5a94bb5