Compare commits

...

43 Commits
v6.22 ... v7.1

Author SHA1 Message Date
Alistair Leslie-Hughes
f5ca8f5a0c Release v7.1 2022-01-29 09:47:35 +11:00
Alistair Leslie-Hughes
cafb155af5 Rebase against 85cb1ff91ed4d48559c5500e2ccb0b15801edc05. 2022-01-28 12:48:29 +11:00
Alistair Leslie-Hughes
b1a5648b37 Rebase against 9a4992173e165b04ff79d5283f81064f7585e7ad. 2022-01-27 11:50:15 +11:00
Alistair Leslie-Hughes
b8a377e8d7 Updated ws2_32-SIO_IDEAL_SEND_BACKLOG_QUERY patchset
macos doesn't support SO_PROTOCOL.
2022-01-26 21:10:50 +11:00
Alistair Leslie-Hughes
5b0e78d2c0 Rebase against 1d178982ae5a73b18f367026c8689b56789c39fd. 2022-01-26 10:11:42 +11:00
Alistair Leslie-Hughes
c87f47bcba Updated nvcuda-CUDA_Support patchset 2022-01-26 08:36:09 +11:00
Alistair Leslie-Hughes
d5e8d145c8 Added wined3d-bindless-texture patchset 2022-01-24 09:14:30 +11:00
Alistair Leslie-Hughes
2239795e43 Added xactengine3_7-callbacks patchset 2022-01-24 08:30:24 +11:00
Alistair Leslie-Hughes
766e1ee8f8 Added ws2_32-SIO_IDEAL_SEND_BACKLOG_QUERY patchset 2022-01-23 12:18:17 +11:00
Alistair Leslie-Hughes
95bf669895 Rebase against 6fe37b465649bfff2085ea871ffad0fff7ee7d61. 2022-01-21 09:10:48 +11:00
Alistair Leslie-Hughes
2fc92f8ba6 Release v7.0 2022-01-19 08:16:49 +11:00
Alistair Leslie-Hughes
0111d074e6 Release v7.0-rc6 2022-01-15 13:32:32 +11:00
Alistair Leslie-Hughes
b4028037d9 Rebase against 7aaeec35e2d7cc799461858edb788e412e9a1fbe. 2022-01-13 12:59:06 +11:00
Alistair Leslie-Hughes
e1c496b21e updated nvcuda-CUDA_Support patchset
Thanks Sveinar Søpler.
2022-01-12 11:35:55 +11:00
Alistair Leslie-Hughes
ee4ca71a7f Release v7.0-rc5 2022-01-08 10:48:47 +11:00
Alistair Leslie-Hughes
3b01c6e2c5 Updated nvcuda-CUDA_Support patchset
This patch add functions for CUDA 10, and reorders
them to be easier to update in future.
2022-01-05 17:03:33 +11:00
Alistair Leslie-Hughes
98c906f843 Rebase against 529e4154a34a5a774fe7036552ffbb060740da90. 2022-01-04 11:45:19 +11:00
Alistair Leslie-Hughes
a43d3ddd1c Release v7.0-rc4 2022-01-03 12:17:06 +11:00
Alistair Leslie-Hughes
78d28293de Rebase against 2318484e1e33cb30f00eb9a62cb9aa5f83e5dc99. 2022-01-03 12:10:34 +11:00
Alistair Leslie-Hughes
440e5eee17 Rebase against b173a96237b1f1c02c642f3d4a57ecb507ebc664. 2021-12-29 10:57:36 +11:00
Alistair Leslie-Hughes
93e94fcbc0 Release v7.0-rc3 2021-12-27 11:27:52 +11:00
Alistair Leslie-Hughes
fa5989b7aa Rebase against d03984709d87d6eaa0e2e7746f0db5d8fdf81b5a. 2021-12-23 10:22:27 +11:00
Alistair Leslie-Hughes
8f579c4eed Release v7.0-rc2 2021-12-18 18:59:04 +11:00
Alistair Leslie-Hughes
278310cf80 Rebase against 2f5f8b4bd4cb5771223d1ee96a55002d18ad01eb. 2021-12-18 18:45:43 +11:00
Alistair Leslie-Hughes
544f90dacc Release v7.0-rc1 2021-12-11 19:10:05 +11:00
Alistair Leslie-Hughes
9937bf0463 Rebase against 533616d23f9832596e41f839356830c7679df930. 2021-12-11 17:41:22 +11:00
Alistair Leslie-Hughes
155e98e765 Rebase against f69d4a865f926aa5c4a9c55cfe4d2dbc10746e5c. 2021-12-10 11:34:32 +11:00
Alistair Leslie-Hughes
2653c32b45 Rebase against b495ff5cc8088af66d6d4f186f82231043e45a95. 2021-12-09 09:49:58 +11:00
Alistair Leslie-Hughes
a2fcffc18e Rebase against 835dfaab023175028161974c5cd8585b77df101c. 2021-12-07 14:08:29 +11:00
Alistair Leslie-Hughes
82e4617d86 Release v6.23 2021-12-05 08:04:40 +11:00
Alistair Leslie-Hughes
24753f8756 Updated ntdll-Junction_Points patchset 2021-12-04 21:03:09 +11:00
Alistair Leslie-Hughes
0ed3e9c774 Rebase against 3f6102080e632b9f4d8a97c0f0b1231fbd8e759b. 2021-12-04 19:40:00 +11:00
Alistair Leslie-Hughes
61c3c024a2 Rebase against 27584c14497163dc2a15a9e8db9ddd40d3a516f8. 2021-12-03 11:06:11 +11:00
Alistair Leslie-Hughes
7f17af3a42 Rebase against 6282718c73bdf1648f18764c51671a57cef3c526. 2021-12-02 11:04:55 +11:00
Alistair Leslie-Hughes
4c51f4f5f6 Rebase against c0ea1ad37d3343c403d80ee18bf0d90c2699148b. 2021-12-01 10:27:42 +11:00
Alistair Leslie-Hughes
3b7c98ebf1 Another fix for macos builds 2021-11-30 20:35:23 +11:00
Alistair Leslie-Hughes
2056903cdf Fix ntdll-Serial_Port_Detection patchset 2021-11-30 12:33:31 +11:00
Alistair Leslie-Hughes
65ca056d29 Rebase against f374e9ccc8c9b9933520d006b879495bde4e7bb3. 2021-11-30 10:55:25 +11:00
Alistair Leslie-Hughes
edb3417124 Rebase against f03933fbb73152c7a54383fba411a611af7aaa55. 2021-11-27 17:36:06 +11:00
Alistair Leslie-Hughes
7655d14b6a Rebase against 67d0509f2f523935b0f4dbd3a713125252b37627. 2021-11-26 12:49:39 +11:00
Alistair Leslie-Hughes
61120ad0dd Rebase against 5e42498e634abda051aa59a3faeb2cf10469b1a6. 2021-11-25 10:17:52 +11:00
Alistair Leslie-Hughes
915b0a246f Rebase against 28c35689d2d9193cbf7ce5f523fecbaf377ae273. 2021-11-24 09:39:42 +11:00
Alistair Leslie-Hughes
68918863dc Rebase against b5b77ed6acad6a20bd4c5bfc98cfce178eef1d0c. 2021-11-23 11:32:46 +11:00
121 changed files with 3032 additions and 1323 deletions

View File

@@ -1,18 +1,17 @@
From b51fdc7e211f676d169c937209bf689e57252c5d Mon Sep 17 00:00:00 2001
From 7e3c4d732bacaeaf37ab8f32a7548715825eff4d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:58:40 +0100
Subject: [PATCH] dwrite: Avoid implicit cast of interface pointer.
---
dlls/dwrite/font.c | 4 ++--
dlls/dwrite/layout.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
dlls/dwrite/font.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index aa51c744297..7cad015480f 100644
index 2296c74c1e3..2b5e18aab19 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -2130,7 +2130,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
@@ -2514,7 +2514,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
@@ -21,7 +20,7 @@ index aa51c744297..7cad015480f 100644
}
struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -2138,7 +2138,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -2522,7 +2522,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
@@ -30,19 +29,6 @@ index aa51c744297..7cad015480f 100644
}
static struct dwrite_fontfacereference *unsafe_impl_from_IDWriteFontFaceReference(IDWriteFontFaceReference *iface)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 1f6201a6a93..35791d5c22e 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5886,7 +5886,7 @@ static const IDWriteTextFormat3Vtbl dwritetextformatvtbl =
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
{
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
- CONTAINING_RECORD(iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
+ CONTAINING_RECORD((IDWriteTextFormat3 *)iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
}
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight,
--
2.29.2
2.34.1

View File

@@ -1,4 +1,4 @@
From a349cc8bdcc3a083ea507dbbdeba9053e3a338e4 Mon Sep 17 00:00:00 2001
From bd6e11aee0fbe2f880f87bec8b3d145b3de15dab Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 23:08:30 +0100
Subject: [PATCH] include: Check element type in CONTAINING_RECORD and similar
@@ -31,31 +31,31 @@ index b4d681fe0f3..287ad394fae 100644
#endif /* __WINE_SERVER_LIST_H */
diff --git a/include/wine/rbtree.h b/include/wine/rbtree.h
index 8aae29c8c10..330b3e8fbc9 100644
index 4e86f3cfb84..694dc039cb1 100644
--- a/include/wine/rbtree.h
+++ b/include/wine/rbtree.h
@@ -23,8 +23,14 @@
#ifndef __WINE_WINE_RBTREE_H
#define __WINE_WINE_RBTREE_H
-#define WINE_RB_ENTRY_VALUE(element, type, field) \
-#define RB_ENTRY_VALUE(element, type, field) \
- ((type *)((char *)(element) - offsetof(type, field)))
+#ifdef __GNUC__
+# define WINE_RB_ENTRY_VALUE(element, type, field) ({ \
+# define RB_ENTRY_VALUE(element, type, field) ({ \
+ const typeof(((type *)0)->field) *__ptr = (element); \
+ (type *)((char *)__ptr - offsetof(type, field)); })
+#else
+# define WINE_RB_ENTRY_VALUE(element, type, field) \
+# define RB_ENTRY_VALUE(element, type, field) \
+ ((type *)((char *)(element) - offsetof(type, field)))
+#endif
struct wine_rb_entry
struct rb_entry
{
diff --git a/include/winnt.h b/include/winnt.h
index 46e17c546a7..d5c65d2017b 100644
index 9296a3dc555..c7406b8db39 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -793,8 +793,14 @@ typedef struct _MEMORY_BASIC_INFORMATION
@@ -840,8 +840,14 @@ typedef struct _WIN32_MEMORY_RANGE_ENTRY
#define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field))
#define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field))
@@ -73,5 +73,5 @@ index 46e17c546a7..d5c65d2017b 100644
#define ARRAYSIZE(x) (sizeof(x) / sizeof((x)[0]))
#ifdef __WINESRC__
--
2.26.2
2.34.1

View File

@@ -1,36 +0,0 @@
From 5d62ab1fd576aa9e11a387a6b2a1b250aecc1803 Mon Sep 17 00:00:00 2001
From: Eric Pouech <eric.pouech@gmail.com>
Date: Fri, 5 Nov 2021 07:56:04 +1100
Subject: [PATCH] configure.ac: let dwarf4 be Wine's default debug format
---
configure.ac | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 57bd9a6f9ec..0196af56783 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1051,8 +1051,7 @@ then
if test "x$ac_debug_format_seen" = x
then
case $CROSSDEBUG in
- *dwarf) WINE_TRY_CROSSCFLAGS([-gdwarf-2])
- WINE_TRY_CROSSCFLAGS([-gstrict-dwarf]) ;;
+ *dwarf) WINE_TRY_CROSSCFLAGS([-gdwarf-4]) ;;
pdb) WINE_TRY_CROSSCFLAGS([-gcodeview]) ;;
esac
fi
@@ -1865,8 +1864,7 @@ char*f(const char *h,char n) {return strchr(h,n);}]])],[ac_cv_c_logicalop_noisy=
done
if test "x$ac_debug_format_seen" = xdefault
then
- WINE_TRY_CFLAGS([-gdwarf-2])
- WINE_TRY_CFLAGS([-gstrict-dwarf])
+ WINE_TRY_CFLAGS([-gdwarf-4])
fi
dnl Disable gcc builtins except for Mingw
--
2.33.0

View File

@@ -1,4 +1,4 @@
From e3a6b75cbce69e18742135fdd8e105132d8ca9dd Mon Sep 17 00:00:00 2001
From ea3579b5b3d701647f5c7f16de658f1cd7fe876d Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 30 Jul 2021 15:57:29 +1000
Subject: [PATCH] d3dx11_43: Implement D3DX11GetImageInfoFromMemory
@@ -38,7 +38,7 @@ index ccd4319ace2..6854c73ebcb 100644
EXTRADLLFLAGS = -Wb,--prefer-native
diff --git a/dlls/d3dx11_43/main.c b/dlls/d3dx11_43/main.c
index 950f6d76f5c..00c1db35e42 100644
index 5dad027864f..00c1db35e42 100644
--- a/dlls/d3dx11_43/main.c
+++ b/dlls/d3dx11_43/main.c
@@ -66,12 +66,3 @@ HRESULT WINAPI D3DX11GetImageInfoFromFileW(const WCHAR *filename, ID3DX11ThreadP
@@ -49,13 +49,13 @@ index 950f6d76f5c..00c1db35e42 100644
-HRESULT WINAPI D3DX11GetImageInfoFromMemory(const void *src_data, SIZE_T src_data_size, ID3DX11ThreadPump *pump,
- D3DX11_IMAGE_INFO *img_info, HRESULT *hresult)
-{
- FIXME("src_data %p, src_data_size %lu, pump %p, img_info %p, hresult %p stub!\n",
- FIXME("src_data %p, src_data_size %Iu, pump %p, img_info %p, hresult %p stub!\n",
- src_data, src_data_size, pump, img_info, hresult);
-
- return E_NOTIMPL;
-}
diff --git a/dlls/d3dx11_43/texture.c b/dlls/d3dx11_43/texture.c
index ee6808d76d6..8addf4f84d3 100644
index 81ac8ee6db7..6881eec107d 100644
--- a/dlls/d3dx11_43/texture.c
+++ b/dlls/d3dx11_43/texture.c
@@ -15,14 +15,190 @@
@@ -155,7 +155,7 @@ index ee6808d76d6..8addf4f84d3 100644
+ GUID container_format;
+ HRESULT hr;
+
+ TRACE("src_data %p, src_data_size %lu, pump %p, img_info %p, hresult %p.\n",
+ TRACE("src_data %p, src_data_size %Iu, pump %p, img_info %p, hresult %p.\n",
+ src_data, src_data_size, pump, img_info, hresult);
+
+ if (!src_data || !src_data_size || !img_info)
@@ -250,5 +250,5 @@ index ee6808d76d6..8addf4f84d3 100644
SIZE_T data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
ID3D11ShaderResourceView **view, HRESULT *hresult)
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 2f65959901f62bfc6a48c683e6eaa5d6ed5f7416 Mon Sep 17 00:00:00 2001
From 5be34c9e347d4379179eeba742b25986152d4e4f Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Tue, 3 Aug 2021 11:13:18 +1000
Subject: [PATCH] d3dx11_42: Implement D3DX11CreateTextureFromMemory
@@ -9,7 +9,7 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
1 file changed, 342 insertions(+), 5 deletions(-)
diff --git a/dlls/d3dx11_43/texture.c b/dlls/d3dx11_43/texture.c
index 8addf4f84d3..f47b8583c6c 100644
index 6881eec107d..b91bd8d881a 100644
--- a/dlls/d3dx11_43/texture.c
+++ b/dlls/d3dx11_43/texture.c
@@ -22,6 +22,7 @@
@@ -239,7 +239,7 @@ index 8addf4f84d3..f47b8583c6c 100644
+ SIZE_T src_data_size, D3DX11_IMAGE_LOAD_INFO *load_info, ID3DX11ThreadPump *pump,
ID3D11Resource **texture, HRESULT *hresult)
{
- FIXME("device %p, data %p, data_size %lu, load_info %p, pump %p, texture %p, hresult %p stub.\n",
- FIXME("device %p, data %p, data_size %Iu, load_info %p, pump %p, texture %p, hresult %p stub.\n",
- device, data, data_size, load_info, pump, texture, hresult);
+ unsigned int frame_count, width, height, stride, frame_size;
+ IWICFormatConverter *converter = NULL;
@@ -259,7 +259,7 @@ index 8addf4f84d3..f47b8583c6c 100644
+ HRESULT hr;
- return E_NOTIMPL;
+ TRACE("device %p, src_data %p, src_data_size %lu, load_info %p, pump %p, texture %p, hresult %p.\n",
+ TRACE("device %p, data %p, data_size %Iu, load_info %p, pump %p, texture %p, hresult %p.\n",
+ device, src_data, src_data_size, load_info, pump, texture, hresult);
+
+ if (!src_data || !src_data_size || !texture)
@@ -391,5 +391,5 @@ index 8addf4f84d3..f47b8583c6c 100644
HRESULT WINAPI D3DX11SaveTextureToFileW(ID3D11DeviceContext *context, ID3D11Resource *texture,
--
2.30.2
2.34.1

View File

@@ -1,4 +1,4 @@
From b094a7cf3f804ea40e5bd05ad738c48b5464e0bb Mon Sep 17 00:00:00 2001
From ec5d4d8435795cb193909159ed2e692d330f2f1a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Mon, 6 Oct 2014 05:06:06 +0200
Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
@@ -9,23 +9,23 @@ Subject: [PATCH] dbghelp: Always check for debug symbols in BINDIR.
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/dbghelp/Makefile.in b/dlls/dbghelp/Makefile.in
index 22be2612eeb..f3f31eb3671 100644
index abb440ffbe6..d200e891c8e 100644
--- a/dlls/dbghelp/Makefile.in
+++ b/dlls/dbghelp/Makefile.in
@@ -2,7 +2,7 @@ MODULE = dbghelp.dll
IMPORTLIB = dbghelp
IMPORTS = $(ZLIB_PE_LIBS)
EXTRAINCL = $(ZLIB_PE_CFLAGS)
-EXTRADEFS = -D_IMAGEHLP_SOURCE_
+EXTRADEFS = -D_IMAGEHLP_SOURCE_ -DBINDIR="L\"${bindir}\""
-EXTRADEFS = -DWINE_NO_LONG_TYPES -D_IMAGEHLP_SOURCE_
+EXTRADEFS = -DWINE_NO_LONG_TYPES -D_IMAGEHLP_SOURCE_ -DBINDIR="L\"${bindir}\""
DELAYIMPORTS = version
C_SRCS = \
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index 553b212c526..3584a27953e 100644
index def8b444e4e..7e664f8074a 100644
--- a/dlls/dbghelp/elf_module.c
+++ b/dlls/dbghelp/elf_module.c
@@ -1451,6 +1451,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
@@ -1445,6 +1445,7 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
load_elf.elf_info = elf_info;
ret = search_unix_path(filename, process_getenv(pcs, L"LD_LIBRARY_PATH"), elf_load_file_cb, &load_elf)
@@ -34,5 +34,5 @@ index 553b212c526..3584a27953e 100644
}
--
2.33.0
2.34.1

View File

@@ -1,18 +1,18 @@
From ef0da9342b0ced44da1ed8532941d53f48ead602 Mon Sep 17 00:00:00 2001
From 8528d4181967d00a7711d32bdaf7ecde5fe7208f Mon Sep 17 00:00:00 2001
From: Jetro Jormalainen <jje-wine@jv.jetro.fi>
Date: Tue, 30 Apr 2019 09:20:54 +1000
Subject: [PATCH] dinput: Allow empty Joystick mappings.
---
dlls/dinput/device.c | 77 ++++++++++++++++++++++++++++++-------
dlls/dinput8/tests/device.c | 50 ++++++++++++++++++++++++
dlls/dinput/tests/device8.c | 50 ++++++++++++++++++++++++
2 files changed, 113 insertions(+), 14 deletions(-)
diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c
index b423337c9ce..c9466655ce4 100644
index 1dc3c311f2b..63e6abb54eb 100644
--- a/dlls/dinput/device.c
+++ b/dlls/dinput/device.c
@@ -356,12 +356,26 @@ static DWORD semantic_to_obj_id( struct dinput_device *This, DWORD dwSemantic )
@@ -357,12 +357,26 @@ static DWORD semantic_to_obj_id( struct dinput_device *This, DWORD dwSemantic )
return type | (0x0000ff00 & (instance << 8));
}
@@ -40,7 +40,7 @@ index b423337c9ce..c9466655ce4 100644
{
static const WCHAR *subkey = L"Software\\Wine\\DirectInput\\Mappings\\%s\\%s\\%s";
HKEY hkey;
@@ -372,8 +386,11 @@ static HKEY get_mapping_key(const WCHAR *device, const WCHAR *username, const WC
@@ -373,8 +387,11 @@ static HKEY get_mapping_key(const WCHAR *device, const WCHAR *username, const WC
swprintf( keyname, len, subkey, username, device, guid );
/* The key used is HKCU\Software\Wine\DirectInput\Mappings\[username]\[device]\[mapping_guid] */
@@ -54,7 +54,7 @@ index b423337c9ce..c9466655ce4 100644
free( keyname );
@@ -393,7 +410,9 @@ static HRESULT save_mapping_settings(IDirectInputDevice8W *iface, LPDIACTIONFORM
@@ -394,7 +411,9 @@ static HRESULT save_mapping_settings(IDirectInputDevice8W *iface, LPDIACTIONFORM
if (StringFromCLSID(&lpdiaf->guidActionMap, &guid_str) != S_OK)
return DI_SETTINGSNOTSAVED;
@@ -65,7 +65,7 @@ index b423337c9ce..c9466655ce4 100644
if (!hkey)
{
@@ -428,7 +447,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
@@ -429,7 +448,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
HKEY hkey;
WCHAR *guid_str;
DIDEVICEINSTANCEW didev;
@@ -74,7 +74,7 @@ index b423337c9ce..c9466655ce4 100644
didev.dwSize = sizeof(didev);
IDirectInputDevice8_GetDeviceInfo(&This->IDirectInputDevice8W_iface, &didev);
@@ -436,7 +455,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
@@ -437,7 +456,7 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
if (StringFromCLSID(&lpdiaf->guidActionMap, &guid_str) != S_OK)
return FALSE;
@@ -83,7 +83,7 @@ index b423337c9ce..c9466655ce4 100644
if (!hkey)
{
@@ -456,15 +475,20 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
@@ -457,15 +476,20 @@ static BOOL load_mapping_settings( struct dinput_device *This, LPDIACTIONFORMATW
{
lpdiaf->rgoAction[i].dwObjID = id;
lpdiaf->rgoAction[i].guidInstance = didev.guidInstance;
@@ -107,7 +107,7 @@ index b423337c9ce..c9466655ce4 100644
}
static BOOL set_app_data( struct dinput_device *dev, int offset, UINT_PTR app_data )
@@ -1607,13 +1631,18 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
@@ -1914,13 +1938,18 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
load_success = load_mapping_settings( impl, format, username_buf );
}
@@ -130,7 +130,7 @@ index b423337c9ce..c9466655ce4 100644
genre = format->rgoAction[i].dwSemantic & DIGENRE_ANY;
if (devMask == genre || (devMask == DIGENRE_ANY && genre != DIMOUSE_MASK && genre != DIKEYBOARD_MASK))
{
@@ -1645,6 +1674,14 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
@@ -1952,6 +1981,14 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
}
}
@@ -145,7 +145,7 @@ index b423337c9ce..c9466655ce4 100644
if (!has_actions) return DI_NOEFFECT;
if (flags & (DIDBAM_DEFAULT|DIDBAM_PRESERVE|DIDBAM_INITIALIZE|DIDBAM_HWDEFAULTS))
FIXME("Unimplemented flags %#x\n", flags);
@@ -1662,6 +1699,7 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
@@ -1969,6 +2006,7 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
DIPROPSTRING dps;
WCHAR username_buf[MAX_PATH];
DWORD username_len = MAX_PATH;
@@ -153,7 +153,7 @@ index b423337c9ce..c9466655ce4 100644
int i, action = 0, num_actions = 0;
unsigned int offset = 0;
const DIDATAFORMAT *df;
@@ -1694,12 +1732,23 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
@@ -2001,12 +2039,23 @@ static HRESULT WINAPI dinput_device_SetActionMap( IDirectInputDevice8W *iface, D
data_format.dwFlags = DIDF_RELAXIS;
data_format.dwDataSize = format->dwDataSize;
@@ -178,10 +178,10 @@ index b423337c9ce..c9466655ce4 100644
/* Construct the dataformat and actionmap */
obj_df = malloc( sizeof(DIOBJECTDATAFORMAT) * num_actions );
diff --git a/dlls/dinput8/tests/device.c b/dlls/dinput8/tests/device.c
index 5ae9e225dc9..d3e86c68176 100644
--- a/dlls/dinput8/tests/device.c
+++ b/dlls/dinput8/tests/device.c
diff --git a/dlls/dinput/tests/device8.c b/dlls/dinput/tests/device8.c
index 817e843e33c..ad9ee1f006b 100644
--- a/dlls/dinput/tests/device8.c
+++ b/dlls/dinput/tests/device8.c
@@ -48,6 +48,8 @@ struct enum_data {
/* Dummy GUID */
static const GUID ACTION_MAPPING_GUID = { 0x1, 0x2, 0x3, { 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb } };
@@ -254,5 +254,5 @@ index 5ae9e225dc9..d3e86c68176 100644
IDirectInput_Release(pDI);
}
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From cb01601870a6299e0da0a956269ef24ed79d5035 Mon Sep 17 00:00:00 2001
From 8c7187f5501fff70df81612dfbdd084e67605189 Mon Sep 17 00:00:00 2001
From: Lucian Poston <lucianposton@pm.me>
Date: Mon, 21 May 2018 18:13:00 -0700
Subject: [PATCH] dwrite: Use font fallback when mapping characters
@@ -11,10 +11,10 @@ Signed-off-by: Lucian Poston <lucianposton@pm.me>
3 files changed, 74 insertions(+), 63 deletions(-)
diff --git a/dlls/dwrite/analyzer.c b/dlls/dwrite/analyzer.c
index 6b74a23540a..5827e87fdf5 100644
index 13ccf8e4434..c535b0cf49d 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -2062,6 +2062,7 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
@@ -2094,6 +2094,7 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
IDWriteFont **mapped_font)
{
const struct fallback_mapping *mapping;
@@ -22,7 +22,7 @@ index 6b74a23540a..5827e87fdf5 100644
HRESULT hr;
UINT32 i;
@@ -2073,9 +2074,15 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
@@ -2105,9 +2106,15 @@ static HRESULT fallback_get_fallback_font(struct dwrite_fontfallback *fallback,
return E_FAIL;
}
@@ -39,7 +39,7 @@ index 6b74a23540a..5827e87fdf5 100644
weight, style, stretch, mapped_font);
if (hr == S_OK) {
TRACE("Created fallback font using family %s.\n", debugstr_w(mapping->families[i]));
@@ -2132,32 +2139,66 @@ static HRESULT WINAPI fontfallback_MapCharacters(IDWriteFontFallback1 *iface, ID
@@ -2164,32 +2171,66 @@ static HRESULT WINAPI fontfallback_MapCharacters(IDWriteFontFallback1 *iface, ID
if (basefamily && *basefamily) {
hr = create_matching_font(basecollection, basefamily, weight, style, stretch, ret_font);
@@ -121,13 +121,13 @@ index 6b74a23540a..5827e87fdf5 100644
+ }
+
done:
heap_free(buff);
free(buff);
return hr;
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 99048b97a3c..64d8eef6f59 100644
index d4aa49c6a6c..cda50c20777 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -958,6 +958,12 @@ static HRESULT layout_resolve_fonts(struct dwrite_textlayout *layout)
@@ -725,6 +725,12 @@ static HRESULT layout_resolve_fonts(struct dwrite_textlayout *layout)
goto fatal;
}
@@ -141,10 +141,10 @@ index 99048b97a3c..64d8eef6f59 100644
IDWriteFont_Release(font);
if (FAILED(hr)) {
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index cea581a0bef..ecefbe9c87a 100644
index 096fc554253..b622aeb4239 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -3368,35 +3368,23 @@ todo_wine
@@ -3368,35 +3368,23 @@ static void test_GetMetrics(void)
count = 0;
hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
@@ -189,7 +189,7 @@ index cea581a0bef..ecefbe9c87a 100644
ok(mappedlength == 1, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
if (font) {
IDWriteFont_Release(font);
@@ -202,7 +202,7 @@ index cea581a0bef..ecefbe9c87a 100644
ok(mappedlength == 3, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
-if (font) {
- IDWriteFont_Release(font);
@@ -222,7 +222,7 @@ index cea581a0bef..ecefbe9c87a 100644
ok(mappedlength == 1, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
-if (font) {
IDWriteFont_Release(font);
@@ -239,7 +239,7 @@ index cea581a0bef..ecefbe9c87a 100644
ok(mappedlength == 1, "got %u\n", mappedlength);
-}
ok(scale == 1.0f, "got %f\n", scale);
-todo_wine
- todo_wine
ok(font != NULL, "got %p\n", font);
-if (font) {
IDWriteFont_Release(font);
@@ -268,7 +268,7 @@ index cea581a0bef..ecefbe9c87a 100644
exists = FALSE;
hr = IDWriteFont_GetInformationalStrings(font, DWRITE_INFORMATIONAL_STRING_WIN32_FAMILY_NAMES, &strings, &exists);
@@ -6564,34 +6540,22 @@ static void test_GetMetrics_with_custom_fontcollection(void)
@@ -6669,34 +6645,22 @@ static void test_GetMetrics_with_custom_fontcollection(void)
ok(hr == S_OK, "got 0x%08x\n", hr);
count = 9999;
hr = IDWriteTextLayout_GetClusterMetrics(layout, clusters, 4, &count);
@@ -304,5 +304,5 @@ index cea581a0bef..ecefbe9c87a 100644
IDWriteTextLayout_Release(layout);
--
2.20.1
2.34.1

View File

@@ -1,4 +1,4 @@
From d6b29a6153e786ff7a79bdbb7c33977e19c6e267 Mon Sep 17 00:00:00 2001
From f2401390227b40c68bb97983fc028d5060a70e8c Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Wed, 13 Jun 2018 10:44:49 -0500
Subject: [PATCH] configure: Check for sys/eventfd.h, ppoll(), and shm_open().
@@ -7,52 +7,48 @@ We use ppoll() instead of poll() for the better time granularity.
Although perhaps we shouldn't since the server doesn't do this.
---
configure.ac | 12 ++++++++
include/config.h.in | 9 ++++++
3 files changed, 89 insertions(+)
configure.ac | 8 ++++++++
include/config.h.in | 9 +++++++++
2 files changed, 17 insertions(+)
diff --git a/configure.ac b/configure.ac
index 718ab1ca50e..d5f82ad2af4 100644
index 9683798b57b..b4465a98794 100644
--- a/configure.ac
+++ b/configure.ac
@@ -496,6 +496,7 @@ AC_CHECK_HEADERS(\
@@ -478,6 +478,7 @@ AC_CHECK_HEADERS(\
sys/cdio.h \
sys/epoll.h \
sys/event.h \
+ sys/eventfd.h \
sys/filio.h \
sys/ioctl.h \
sys/ipc.h \
@@ -2158,6 +2159,7 @@ AC_CHECK_FUNCS(\
sys/link.h \
@@ -1991,6 +1992,7 @@ AC_CHECK_FUNCS(\
port_create \
posix_fadvise \
posix_fallocate \
+ ppoll \
prctl \
proc_pidinfo \
renameat \
@@ -2199,6 +2201,16 @@ case $host_os in
sched_yield \
@@ -2033,6 +2035,12 @@ case $host_os in
;;
esac
+dnl Check for shm_open which may be in -lrt
+if test "$ac_cv_header_sys_mman_h" = "yes" -a "x$RT_LIBS" = "x"
+then
+ ac_save_LIBS=$LIBS
+ AC_SEARCH_LIBS(shm_open, rt,
+ [AC_DEFINE(HAVE_SHM_OPEN, 1, [Define to 1 if you have the `shm_open' function.])
+ test "$ac_res" = "none required" || AC_SUBST(RT_LIBS,"$ac_res")])
+fi
+ac_save_LIBS=$LIBS
+AC_SEARCH_LIBS(shm_open, rt,
+ [AC_DEFINE(HAVE_SHM_OPEN, 1, [Define to 1 if you have the `shm_open' function.])
+ test "$ac_res" = "none required" || AC_SUBST(RT_LIBS,"$ac_res")])
+LIBS=$ac_save_LIBS
+
dnl **** Check for OpenLDAP ***
if test "x$with_ldap" != "xno"
then
diff --git a/include/config.h.in b/include/config.h.in
index e975ca8a55d..a19789dad8c 100644
index 197c3b97f09..13f822cb36c 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -474,6 +474,9 @@
@@ -362,6 +362,9 @@
/* Define to 1 if you have the `posix_fallocate' function. */
#undef HAVE_POSIX_FALLOCATE
@@ -62,7 +58,7 @@ index e975ca8a55d..a19789dad8c 100644
/* Define to 1 if you have the `prctl' function. */
#undef HAVE_PRCTL
@@ -546,6 +549,9 @@
@@ -434,6 +437,9 @@
/* Define to 1 if `interface_id' is a member of `sg_io_hdr_t'. */
#undef HAVE_SG_IO_HDR_T_INTERFACE_ID
@@ -72,7 +68,7 @@ index e975ca8a55d..a19789dad8c 100644
/* Define if sigaddset is supported */
#undef HAVE_SIGADDSET
@@ -695,6 +701,9 @@
@@ -574,6 +580,9 @@
/* Define to 1 if you have the <sys/epoll.h> header file. */
#undef HAVE_SYS_EPOLL_H

View File

@@ -1,4 +1,4 @@
From 2e40c85732d66a427927d26d0d560c835187fcf2 Mon Sep 17 00:00:00 2001
From 27524b275c81c1c9057e4b4ca3d9cec734a3bd8a Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Thu, 7 Jun 2018 20:09:59 -0500
Subject: [PATCH] server: Create server objects for eventfd-based
@@ -6,16 +6,16 @@ Subject: [PATCH] server: Create server objects for eventfd-based
---
server/Makefile.in | 1 +
server/esync.c | 320 ++++++++++++++++++++++++++++++++++++++++++++
server/esync.c | 318 ++++++++++++++++++++++++++++++++++++++++++++
server/esync.h | 22 +++
server/main.c | 4 +
server/protocol.def | 25 +++-
5 files changed, 371 insertions(+), 1 deletion(-)
5 files changed, 369 insertions(+), 1 deletion(-)
create mode 100644 server/esync.c
create mode 100644 server/esync.h
diff --git a/server/Makefile.in b/server/Makefile.in
index b58ce1e3002..5f225fd0591 100644
index c81a2112632..da20dff9f56 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -11,6 +11,7 @@ C_SRCS = \
@@ -28,10 +28,10 @@ index b58ce1e3002..5f225fd0591 100644
file.c \
diff --git a/server/esync.c b/server/esync.c
new file mode 100644
index 00000000000..a571855c70a
index 00000000000..b9dbfa322bc
--- /dev/null
+++ b/server/esync.c
@@ -0,0 +1,320 @@
@@ -0,0 +1,318 @@
+/*
+ * eventfd-based synchronization objects
+ *
@@ -53,7 +53,7 @@ index 00000000000..a571855c70a
+ */
+
+#include "config.h"
+#include "wine/port.h"
+
+
+#include <fcntl.h>
+#include <stdio.h>
@@ -61,9 +61,7 @@ index 00000000000..a571855c70a
+#ifdef HAVE_SYS_EVENTFD_H
+# include <sys/eventfd.h>
+#endif
+#ifdef HAVE_SYS_MMAN_H
+# include <sys/mman.h>
+#endif
+#include <sys/mman.h>
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
@@ -381,10 +379,10 @@ index 00000000000..7ca4ca89394
+extern int do_esync(void);
+void esync_init(void);
diff --git a/server/main.c b/server/main.c
index dae08339874..f68888d0fa8 100644
index a134d811d82..3436b0871b4 100644
--- a/server/main.c
+++ b/server/main.c
@@ -37,6 +37,7 @@
@@ -34,6 +34,7 @@
#include "thread.h"
#include "request.h"
#include "unicode.h"
@@ -392,7 +390,7 @@ index dae08339874..f68888d0fa8 100644
/* command-line options */
int debug_level = 0;
@@ -141,6 +142,9 @@ int main( int argc, char *argv[] )
@@ -229,6 +230,9 @@ int main( int argc, char *argv[] )
sock_init();
open_master_socket();
@@ -403,10 +401,10 @@ index dae08339874..f68888d0fa8 100644
set_current_time();
init_scheduler();
diff --git a/server/protocol.def b/server/protocol.def
index 10da65be735..22050c65f06 100644
index c413cc7d7bb..607d56a666c 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -3690,7 +3690,6 @@ struct handle_info
@@ -3733,7 +3733,6 @@ struct handle_info
obj_handle_t handle; /* process handle */
@END
@@ -414,7 +412,7 @@ index 10da65be735..22050c65f06 100644
/* Iterate thread list for process */
@REQ(get_next_thread)
obj_handle_t process; /* process handle */
@@ -3701,3 +3700,27 @@ struct handle_info
@@ -3744,3 +3743,27 @@ struct handle_info
@REPLY
obj_handle_t handle; /* next thread handle */
@END
@@ -443,5 +441,5 @@ index 10da65be735..22050c65f06 100644
+ unsigned int shm_idx;
+@END
--
2.30.2
2.33.0

View File

@@ -1,25 +1,25 @@
From b569bf796e685232a6858b1daa2950408c422adf Mon Sep 17 00:00:00 2001
From c204c9ed2a8504868c3cbf487e7a29c4e7254d3f Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:09:22 -0500
Subject: [PATCH] ntdll: Create eventfd-based objects for semaphores.
---
dlls/ntdll/Makefile.in | 1 +
dlls/ntdll/unix/esync.c | 273 +++++++++++++++++++++++++++++++++++++++
dlls/ntdll/unix/esync.c | 271 +++++++++++++++++++++++++++++++++++++++
dlls/ntdll/unix/esync.h | 35 +++++
dlls/ntdll/unix/loader.c | 2 +
dlls/ntdll/unix/server.c | 4 +-
dlls/ntdll/unix/sync.c | 4 +
server/esync.c | 1 +
7 files changed, 318 insertions(+), 2 deletions(-)
7 files changed, 316 insertions(+), 2 deletions(-)
create mode 100644 dlls/ntdll/unix/esync.c
create mode 100644 dlls/ntdll/unix/esync.h
diff --git a/dlls/ntdll/Makefile.in b/dlls/ntdll/Makefile.in
index aac7f8eead7..7ea80f19481 100644
index 185bc563e68..d7c757cab32 100644
--- a/dlls/ntdll/Makefile.in
+++ b/dlls/ntdll/Makefile.in
@@ -45,6 +45,7 @@ C_SRCS = \
@@ -46,6 +46,7 @@ C_SRCS = \
unix/cdrom.c \
unix/debug.c \
unix/env.c \
@@ -29,10 +29,10 @@ index aac7f8eead7..7ea80f19481 100644
unix/loadorder.c \
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
new file mode 100644
index 00000000000..7c409c7a9ca
index 00000000000..9e1ef7d8afd
--- /dev/null
+++ b/dlls/ntdll/unix/esync.c
@@ -0,0 +1,273 @@
@@ -0,0 +1,271 @@
+/*
+ * eventfd-based synchronization objects
+ *
@@ -64,9 +64,7 @@ index 00000000000..7c409c7a9ca
+#include <fcntl.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#ifdef HAVE_SYS_MMAN_H
+# include <sys/mman.h>
+#endif
+#include <sys/mman.h>
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
@@ -348,10 +346,10 @@ index 00000000000..a50a755149a
+
+extern int receive_fd( obj_handle_t *handle ) DECLSPEC_HIDDEN;
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
index dfc0d4c9a09..310556948aa 100644
index 10884a7a673..28cc48e04bf 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -86,6 +86,7 @@
@@ -89,6 +89,7 @@
#include "winioctl.h"
#include "winternl.h"
#include "unix_private.h"
@@ -359,7 +357,7 @@ index dfc0d4c9a09..310556948aa 100644
#include "wine/list.h"
#include "wine/debug.h"
@@ -2190,6 +2191,7 @@ static void start_main_thread(void)
@@ -2082,6 +2083,7 @@ static void start_main_thread(void)
signal_init_thread( teb );
dbg_init();
startup_info_size = server_init_process();
@@ -368,19 +366,19 @@ index dfc0d4c9a09..310556948aa 100644
init_cpu_info();
init_files();
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index 53d34e1858a..43b470fc10a 100644
index 6a3224d8385..de65f936a59 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -114,7 +114,7 @@ timeout_t server_start_time = 0; /* time of server startup */
sigset_t server_block_set; /* signals to block during server calls */
@@ -106,7 +106,7 @@ sigset_t server_block_set; /* signals to block during server calls */
static int fd_socket = -1; /* socket to exchange file descriptors with the server */
static int initial_cwd = -1;
static pid_t server_pid;
-static pthread_mutex_t fd_cache_mutex = PTHREAD_MUTEX_INITIALIZER;
+pthread_mutex_t fd_cache_mutex = PTHREAD_MUTEX_INITIALIZER;
/* atomically exchange a 64-bit value */
static inline LONG64 interlocked_xchg64( LONG64 *dest, LONG64 val )
@@ -828,7 +828,7 @@ void wine_server_send_fd( int fd )
@@ -803,7 +803,7 @@ void wine_server_send_fd( int fd )
*
* Receive a file descriptor passed from the server.
*/
@@ -390,10 +388,10 @@ index 53d34e1858a..43b470fc10a 100644
struct iovec vec;
struct msghdr msghdr;
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 86a836a908f..871fe7fb42e 100644
index 442243d8bcf..72cbf92f93c 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -71,6 +71,7 @@
@@ -64,6 +64,7 @@
#include "wine/server.h"
#include "wine/debug.h"
#include "unix_private.h"
@@ -401,7 +399,7 @@ index 86a836a908f..871fe7fb42e 100644
WINE_DEFAULT_DEBUG_CHANNEL(sync);
@@ -324,6 +325,9 @@ NTSTATUS WINAPI NtCreateSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJ
@@ -262,6 +263,9 @@ NTSTATUS WINAPI NtCreateSemaphore( HANDLE *handle, ACCESS_MASK access, const OBJ
if (max <= 0 || initial < 0 || initial > max) return STATUS_INVALID_PARAMETER;
if ((ret = alloc_object_attributes( attr, &objattr, &len ))) return ret;
@@ -412,10 +410,10 @@ index 86a836a908f..871fe7fb42e 100644
{
req->access = access;
diff --git a/server/esync.c b/server/esync.c
index a571855c70a..e41bbbf9349 100644
index b9dbfa322bc..99e57eca44c 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -43,6 +43,7 @@
@@ -41,6 +41,7 @@
#include "handle.h"
#include "request.h"
#include "file.h"
@@ -424,5 +422,5 @@ index a571855c70a..e41bbbf9349 100644
int do_esync(void)
{
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From e5a3456cde339352e78b10fed8a2fc65ca560041 Mon Sep 17 00:00:00 2001
From 4c255f91363e09892de43bf5f3b991ef5ccce3b2 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:16:34 -0500
Subject: [PATCH] ntdll: Implement NtReleaseSemaphore().
@@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement NtReleaseSemaphore().
3 files changed, 47 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 7c409c7a9ca..8f28a36d93f 100644
index 9e1ef7d8afd..c7320d78bd3 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -28,6 +28,7 @@
@@ -19,9 +19,9 @@ index 7c409c7a9ca..8f28a36d93f 100644
#include <stdarg.h>
+#include <stdint.h>
#include <stdlib.h>
#ifdef HAVE_SYS_MMAN_H
# include <sys/mman.h>
@@ -173,6 +174,16 @@ static struct esync *add_to_list( HANDLE handle, enum esync_type type, int fd, v
#include <sys/mman.h>
#ifdef HAVE_SYS_STAT_H
@@ -171,6 +172,16 @@ static struct esync *add_to_list( HANDLE handle, enum esync_type type, int fd, v
return &esync_list[entry][idx];
}
@@ -38,7 +38,7 @@ index 7c409c7a9ca..8f28a36d93f 100644
static NTSTATUS create_esync( enum esync_type type, HANDLE *handle, ACCESS_MASK access,
const OBJECT_ATTRIBUTES *attr, int initval, int max )
{
@@ -228,6 +239,38 @@ extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
@@ -226,6 +237,38 @@ extern NTSTATUS esync_create_semaphore(HANDLE *handle, ACCESS_MASK access,
return create_esync( ESYNC_SEMAPHORE, handle, access, attr, initial, max );
}
@@ -90,10 +90,10 @@ index a50a755149a..09838e95535 100644
/* We have to synchronize on the fd cache mutex so that our calls to receive_fd
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index 663a170fc61..f4bcda4b473 100644
index 72cbf92f93c..db992f3a9ad 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -407,6 +407,9 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, ULONG *previous
@@ -348,6 +348,9 @@ NTSTATUS WINAPI NtReleaseSemaphore( HANDLE handle, ULONG count, ULONG *previous
{
NTSTATUS ret;
@@ -104,5 +104,5 @@ index 663a170fc61..f4bcda4b473 100644
{
req->handle = wine_server_obj_handle( handle );
--
2.28.0
2.33.0

View File

@@ -1,4 +1,4 @@
From 908363daafc3b5220967d31e2e878f617d465026 Mon Sep 17 00:00:00 2001
From e6666b78dbd54b0017de39c85f06900503780110 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 12:34:42 -0500
Subject: [PATCH] ntdll: Implement NtWaitForMultipleObjects().
@@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Implement NtWaitForMultipleObjects().
3 files changed, 180 insertions(+)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 02b07bf36be..1b71105491c 100644
index f111342688e..dac49af3083 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -22,17 +22,25 @@
@@ -22,6 +22,8 @@
#pragma makedep unix
#endif
@@ -22,24 +22,20 @@ index 02b07bf36be..1b71105491c 100644
#include "config.h"
#include <assert.h>
#include <errno.h>
#include <fcntl.h>
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif
#include <stdarg.h>
#include <stdint.h>
#include <stdlib.h>
#ifdef HAVE_SYS_MMAN_H
# include <sys/mman.h>
#endif
+#ifdef HAVE_SYS_POLL_H
+# include <sys/poll.h>
+#endif
@@ -34,6 +36,12 @@
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
@@ -289,6 +297,168 @@ NTSTATUS esync_release_semaphore( HANDLE handle, ULONG count, ULONG *prev )
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#endif
+#ifdef HAVE_SYS_POLL_H
+# include <sys/poll.h>
+#endif
#include <sys/types.h>
#include <unistd.h>
@@ -287,6 +295,168 @@ NTSTATUS esync_release_semaphore( HANDLE handle, ULONG count, ULONG *prev )
return STATUS_SUCCESS;
}
@@ -223,10 +219,10 @@ index 14e52416764..87516e7597a 100644
/* We have to synchronize on the fd cache mutex so that our calls to receive_fd
* don't race with theirs. It looks weird, I know.
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index f4bcda4b473..445c2a4324d 100644
index db992f3a9ad..bc643558a28 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -1273,6 +1273,13 @@ NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles, BO
@@ -1410,6 +1410,13 @@ NTSTATUS WINAPI NtWaitForMultipleObjects( DWORD count, const HANDLE *handles, BO
if (!count || count > MAXIMUM_WAIT_OBJECTS) return STATUS_INVALID_PARAMETER_1;
@@ -241,5 +237,5 @@ index f4bcda4b473..445c2a4324d 100644
select_op.wait.op = wait_any ? SELECT_WAIT : SELECT_WAIT_ALL;
for (i = 0; i < count; i++) select_op.wait.handles[i] = wine_server_obj_handle( handles[i] );
--
2.28.0
2.33.0

View File

@@ -1,28 +1,30 @@
From 153efcdc01d57fc29c6d1e80eda52f43666b34a6 Mon Sep 17 00:00:00 2001
From 4a9eff3f22bfe2c6463e3064ec862617d5dd07d7 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 14:57:42 -0500
Subject: [PATCH] ntdll: Implement waiting on manual-reset events.
---
dlls/ntdll/unix/esync.c | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
dlls/ntdll/unix/esync.c | 27 +++++++++++++++++----------
1 file changed, 17 insertions(+), 10 deletions(-)
diff --git a/dlls/ntdll/unix/esync.c b/dlls/ntdll/unix/esync.c
index 97d468b2449..d58cb6c1ee2 100644
index 80eb3773ee4..f4c27796189 100644
--- a/dlls/ntdll/unix/esync.c
+++ b/dlls/ntdll/unix/esync.c
@@ -38,9 +38,7 @@
#ifdef HAVE_SYS_MMAN_H
# include <sys/mman.h>
#endif
-#ifdef HAVE_SYS_POLL_H
-# include <sys/poll.h>
-#endif
+#include <poll.h>
@@ -36,12 +36,7 @@
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
@@ -483,12 +481,24 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
-#ifdef HAVE_POLL_H
#include <poll.h>
-#endif
-#ifdef HAVE_SYS_POLL_H
-# include <sys/poll.h>
-#endif
#include <sys/types.h>
#include <unistd.h>
@@ -481,12 +476,24 @@ NTSTATUS esync_wait_objects( DWORD count, const HANDLE *handles, BOOLEAN wait_an
int64_t value;
ssize_t size;

View File

@@ -1,4 +1,4 @@
From a1368a522fdc4e741fee7bfbd84eec632bcf4ce0 Mon Sep 17 00:00:00 2001
From 3e714e2eb10fe17f12b747731c0ce7e18fd4b7a0 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 15:11:12 -0500
Subject: [PATCH] server: Create eventfd file descriptors for process objects.
@@ -11,10 +11,10 @@ Subject: [PATCH] server: Create eventfd file descriptors for process objects.
4 files changed, 35 insertions(+), 1 deletion(-)
diff --git a/server/esync.c b/server/esync.c
index d61dfdcd956..e18b76bff5b 100644
index c7b0323f204..27049ffbdb0 100644
--- a/server/esync.c
+++ b/server/esync.c
@@ -297,6 +297,24 @@ struct esync *create_esync( struct object *root, const struct unicode_str *name,
@@ -295,6 +295,24 @@ struct esync *create_esync( struct object *root, const struct unicode_str *name,
#endif
}
@@ -49,10 +49,10 @@ index 7ca4ca89394..6a0a367124d 100644
void esync_init(void);
+int esync_create_fd( int initval, int flags );
diff --git a/server/process.c b/server/process.c
index e144593445d..f9468c771d0 100644
index da972a41955..91b26d00ec0 100644
--- a/server/process.c
+++ b/server/process.c
@@ -49,6 +49,7 @@
@@ -63,6 +63,7 @@
#include "request.h"
#include "user.h"
#include "security.h"
@@ -60,7 +60,7 @@ index e144593445d..f9468c771d0 100644
/* process object */
@@ -81,6 +82,7 @@ static struct security_descriptor *process_get_sd( struct object *obj );
@@ -95,6 +96,7 @@ static struct security_descriptor *process_get_sd( struct object *obj );
static void process_poll_event( struct fd *fd, int event );
static struct list *process_get_kernel_obj_list( struct object *obj );
static void process_destroy( struct object *obj );
@@ -68,7 +68,7 @@ index e144593445d..f9468c771d0 100644
static void terminate_process( struct process *process, struct thread *skip, int exit_code );
static const struct object_ops process_ops =
@@ -91,7 +93,7 @@ static const struct object_ops process_ops =
@@ -105,7 +107,7 @@ static const struct object_ops process_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
process_signaled, /* signaled */
@@ -77,16 +77,16 @@ index e144593445d..f9468c771d0 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -555,6 +557,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
process->trace_data = 0;
@@ -684,6 +686,7 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
process->rawinput_mouse = NULL;
process->rawinput_kbd = NULL;
memset( &process->image_info, 0, sizeof(process->image_info) );
+ process->esync_fd = -1;
list_init( &process->kernel_object );
list_init( &process->thread_list );
list_init( &process->locks );
@@ -611,6 +614,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
if (!token_assign_label( process->token, security_high_label_sid ))
@@ -741,6 +744,9 @@ struct process *create_process( int fd, struct process *parent, unsigned int fla
if (!token_assign_label( process->token, &high_label_sid ))
goto error;
+ if (do_esync())
@@ -95,7 +95,7 @@ index e144593445d..f9468c771d0 100644
set_fd_events( process->msg_fd, POLLIN ); /* start listening to events */
return process;
@@ -657,6 +663,7 @@ static void process_destroy( struct object *obj )
@@ -787,6 +793,7 @@ static void process_destroy( struct object *obj )
if (process->token) release_object( process->token );
free( process->dir_cache );
free( process->image );
@@ -103,7 +103,7 @@ index e144593445d..f9468c771d0 100644
}
/* dump a process on stdout for debugging purposes */
@@ -674,6 +681,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
@@ -804,6 +811,13 @@ static int process_signaled( struct object *obj, struct wait_queue_entry *entry
return !process->running_threads;
}
@@ -118,17 +118,17 @@ index e144593445d..f9468c771d0 100644
{
access = default_map_access( obj, access );
diff --git a/server/process.h b/server/process.h
index 0e1a83859d9..71aae9c9494 100644
index 632faf9c4bf..1ba69b3406e 100644
--- a/server/process.h
+++ b/server/process.h
@@ -87,6 +87,7 @@ struct process
const struct rawinput_device *rawinput_mouse; /* rawinput mouse device, if any */
@@ -90,6 +90,7 @@ struct process
const struct rawinput_device *rawinput_kbd; /* rawinput keyboard device, if any */
struct list kernel_object; /* list of kernel object pointers */
pe_image_info_t image_info; /* main exe image info */
+ int esync_fd; /* esync file descriptor (signaled on exit) */
};
/* process functions */
--
2.30.2
2.34.1

View File

@@ -1,17 +1,17 @@
From fb450637e3b533b3dbef8792aa389ca3614bedf3 Mon Sep 17 00:00:00 2001
From fa9bbbaa8630c4b259e287437a627e226c1c34da Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sat, 17 Oct 2020 19:13:16 -0500
Subject: [PATCH] server: Create esync file descriptors for console servers.
---
server/console.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
server/console.c | 36 ++++++++++++++++++++++++++++--------
1 file changed, 28 insertions(+), 8 deletions(-)
diff --git a/server/console.c b/server/console.c
index dd1bf8f4119..887bba4e63c 100644
index e7c97e99579..98ac09efc3f 100644
--- a/server/console.c
+++ b/server/console.c
@@ -42,6 +42,7 @@
@@ -41,6 +41,7 @@
#include "wincon.h"
#include "winternl.h"
#include "wine/condrv.h"
@@ -19,10 +19,26 @@ index dd1bf8f4119..887bba4e63c 100644
struct screen_buffer;
@@ -139,11 +140,13 @@ struct console_server
int busy; /* flag if server processing an ioctl */
int term_fd; /* UNIX terminal fd */
struct termios termios; /* original termios */
@@ -131,20 +132,22 @@ struct console_host_ioctl
struct console_server
{
- struct object obj; /* object header */
- struct fd *fd; /* pseudo-fd for ioctls */
- struct console *console; /* attached console */
- struct list queue; /* ioctl queue */
- struct list read_queue; /* blocking read queue */
+ struct object obj; /* object header */
+ struct fd *fd; /* pseudo-fd for ioctls */
+ struct console *console; /* attached console */
+ struct list queue; /* ioctl queue */
+ struct list read_queue; /* blocking read queue */
unsigned int busy : 1; /* flag if server processing an ioctl */
unsigned int once_input : 1; /* flag if input thread has already been requested */
- int term_fd; /* UNIX terminal fd */
- struct termios termios; /* original termios */
+ int term_fd; /* UNIX terminal fd */
+ struct termios termios; /* original termios */
+ int esync_fd;
};
@@ -33,7 +49,7 @@ index dd1bf8f4119..887bba4e63c 100644
static struct fd *console_server_get_fd( struct object *obj );
static struct object *console_server_lookup_name( struct object *obj, struct unicode_str *name,
unsigned int attr, struct object *root );
@@ -158,7 +161,7 @@ static const struct object_ops console_server_ops =
@@ -159,7 +162,7 @@ static const struct object_ops console_server_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
console_server_signaled, /* signaled */
@@ -42,7 +58,7 @@ index dd1bf8f4119..887bba4e63c 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
console_server_get_fd, /* get_fd */
@@ -526,6 +529,8 @@ static void disconnect_console_server( struct console_server *server )
@@ -597,6 +600,8 @@ static void disconnect_console_server( struct console_server *server )
list_remove( &call->entry );
console_host_ioctl_terminate( call, STATUS_CANCELLED );
}
@@ -51,7 +67,7 @@ index dd1bf8f4119..887bba4e63c 100644
while (!list_empty( &server->read_queue ))
{
struct console_host_ioctl *call = LIST_ENTRY( list_head( &server->read_queue ), struct console_host_ioctl, entry );
@@ -844,6 +849,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
@@ -897,6 +902,13 @@ static int console_server_signaled( struct object *obj, struct wait_queue_entry
return !server->console || !list_empty( &server->queue );
}
@@ -65,7 +81,7 @@ index dd1bf8f4119..887bba4e63c 100644
static struct fd *console_server_get_fd( struct object* obj )
{
struct console_server *server = (struct console_server*)obj;
@@ -874,6 +886,10 @@ static struct object *create_console_server( void )
@@ -928,6 +940,10 @@ static struct object *create_console_server( void )
return NULL;
}
allow_fd_caching(server->fd);
@@ -76,7 +92,7 @@ index dd1bf8f4119..887bba4e63c 100644
return &server->obj;
}
@@ -1388,6 +1404,8 @@ DECL_HANDLER(get_next_console_request)
@@ -1513,6 +1529,8 @@ DECL_HANDLER(get_next_console_request)
/* set result of previous ioctl */
ioctl = LIST_ENTRY( list_head( &server->queue ), struct console_host_ioctl, entry );
list_remove( &ioctl->entry );
@@ -85,7 +101,7 @@ index dd1bf8f4119..887bba4e63c 100644
}
if (ioctl)
@@ -1486,6 +1504,8 @@ DECL_HANDLER(get_next_console_request)
@@ -1598,6 +1616,8 @@ DECL_HANDLER(get_next_console_request)
{
set_error( STATUS_PENDING );
}
@@ -95,5 +111,5 @@ index dd1bf8f4119..887bba4e63c 100644
release_object( server );
}
--
2.29.2
2.34.1

View File

@@ -1,4 +1,4 @@
From 1dc7cd6e5621505199c8ff8ad8f4e67845c478e3 Mon Sep 17 00:00:00 2001
From ba211cf9d8ca7a462c24a62334813c68d41b3fc0 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 30 Aug 2021 15:16:06 +1000
Subject: [PATCH] ntoskrnl.exe: Add FltBuildDefaultSecurityDescriptor test
@@ -10,10 +10,10 @@ Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
2 files changed, 66 insertions(+), 1 deletion(-)
diff --git a/dlls/ntoskrnl.exe/tests/Makefile.in b/dlls/ntoskrnl.exe/tests/Makefile.in
index ab1db85adbb..9c89e44e70a 100644
index 052a8618a81..9028a392002 100644
--- a/dlls/ntoskrnl.exe/tests/Makefile.in
+++ b/dlls/ntoskrnl.exe/tests/Makefile.in
@@ -1,7 +1,7 @@
@@ -2,7 +2,7 @@ EXTRADEFS = -DWINE_NO_LONG_TYPES
TESTDLL = ntoskrnl.exe
IMPORTS = advapi32 crypt32 newdev setupapi user32 wintrust ws2_32 hid
@@ -23,7 +23,7 @@ index ab1db85adbb..9c89e44e70a 100644
driver2_IMPORTS = winecrt0 ntoskrnl hal
driver2_EXTRADLLFLAGS = -nodefaultlibs -nostartfiles -Wl,--subsystem,native
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index deccc04bc2b..90f5b0ec965 100644
index dabb3b73f15..187f00c8bcb 100644
--- a/dlls/ntoskrnl.exe/tests/driver.c
+++ b/dlls/ntoskrnl.exe/tests/driver.c
@@ -32,6 +32,7 @@
@@ -113,5 +113,5 @@ index deccc04bc2b..90f5b0ec965 100644
IoMarkIrpPending(irp);
IoQueueWorkItem(work_item, main_test_task, DelayedWorkQueue, irp);
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From eee60c1777c710cfcb4283922990a306361548ba Mon Sep 17 00:00:00 2001
From 088f9f0bf9b30749221e28d51d88d910ed458d9c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 5 Sep 2016 15:31:29 +0200
Subject: [PATCH] inseng: Implement CIF reader and download functions.
@@ -18,10 +18,11 @@ FIXME: Needs splitting.
create mode 100644 dlls/inseng/inseng_private.h
diff --git a/dlls/inseng/Makefile.in b/dlls/inseng/Makefile.in
index 0217203791a..ba2388c97ed 100644
index f4b1d4b915f..79121e16c94 100644
--- a/dlls/inseng/Makefile.in
+++ b/dlls/inseng/Makefile.in
@@ -1,8 +1,11 @@
@@ -1,9 +1,12 @@
EXTRADEFS = -DWINE_NO_LONG_TYPES
MODULE = inseng.dll
-IMPORTS = uuid ole32 advapi32
+IMPORTS = uuid ole32 advapi32 urlmon shlwapi
@@ -3862,5 +3863,5 @@ index 8a3f4c4d270..82927418a99 100644
+cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
+cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);")
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From e5140396b7787d48d39f0b47876022c64fc1c2c7 Mon Sep 17 00:00:00 2001
From 96bd1ab47a39d621c5f63264fb4bc415164d371c Mon Sep 17 00:00:00 2001
From: Fabian Maurer <dark.shadow4@web.de>
Date: Fri, 10 Apr 2020 18:47:18 +0200
Subject: [PATCH] kernelbase: Implement sortkey generation on official tables
@@ -10,10 +10,10 @@ Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2 files changed, 413 insertions(+), 123 deletions(-)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index c65c2cce3f2..a5d88288f27 100644
index 94c9ce3ad1b..8447e67486c 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -2697,6 +2697,13 @@ static void test_lcmapstring_unicode(lcmapstring_wrapper func_ptr, const char *f
@@ -2560,6 +2560,13 @@ static void test_lcmapstring_unicode(lcmapstring_wrapper func_ptr, const char *f
lstrlenW(symbols_stripped) + 1, ret);
ok(!lstrcmpW(buf, symbols_stripped), "%s string comparison mismatch\n", func_name);
@@ -27,7 +27,7 @@ index c65c2cce3f2..a5d88288f27 100644
/* test srclen = 0 */
SetLastError(0xdeadbeef);
ret = func_ptr(0, upper_case, 0, buf, ARRAY_SIZE(buf));
@@ -3126,6 +3133,135 @@ static void test_sorting(void)
@@ -2989,6 +2996,135 @@ static void test_sorting(void)
}
}
@@ -163,14 +163,16 @@ index c65c2cce3f2..a5d88288f27 100644
static void test_FoldStringA(void)
{
int ret, i, j;
@@ -7191,4 +7327,5 @@ START_TEST(locale)
@@ -7201,6 +7337,7 @@ START_TEST(locale)
test_NLSVersion();
test_geo_name();
test_sorting();
+ test_unicode_sorting();
}
test_EnumCalendarInfoA();
test_EnumCalendarInfoW();
test_EnumCalendarInfoExA();
diff --git a/dlls/kernelbase/locale.c b/dlls/kernelbase/locale.c
index 89b35775053..5da87e065f1 100644
index 667d1a4dc65..095e0a68558 100644
--- a/dlls/kernelbase/locale.c
+++ b/dlls/kernelbase/locale.c
@@ -2164,127 +2164,6 @@ static int wcstombs_codepage( UINT codepage, DWORD flags, const WCHAR *src, int
@@ -582,7 +584,7 @@ index 89b35775053..5da87e065f1 100644
static const struct geoinfo *get_geoinfo_ptr( GEOID geoid )
{
@@ -5303,8 +5456,8 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
@@ -5302,8 +5455,8 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
TRACE( "(%s,0x%08x,%s,%d,%p,%d)\n",
debugstr_w(locale), flags, debugstr_wn(src, srclen), srclen, dst, dstlen );
@@ -594,5 +596,5 @@ index 89b35775053..5da87e065f1 100644
}
--
2.30.2
2.33.0

Some files were not shown because too many files have changed in this diff Show More