Compare commits

...

37 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes
68441b1d95 Release v7.2 2022-02-13 18:04:39 +11:00
Alistair Leslie-Hughes
abc1c143f3 Merge pull request #81 from Gcenx/macOS-updates
Mac os updates
2022-02-13 11:37:27 +11:00
Gcenx
316d085a4b macOS.yml: Temp disabled parallel builds
brew bumped mingw-w64 formula resource binutils to 2.38 has a regression in dlltool see https://lists.gnu.org/archive/html/bug-binutils/2022-02/msg00166.html

Not building in parallel works around this problem
2022-02-12 16:48:09 -05:00
Gcenx
2e7e083424 macOS.yml: Update dependencies for wine-7.x 2022-02-12 16:01:18 -05:00
Zebediah Figura
b9f7ec5ccf Rebase against d318f43559dbb0093e22bab1aa0eb9dc01170cc2. 2022-02-11 23:53:24 -06:00
Alistair Leslie-Hughes
b5193cb799 Rebase against d9f3ea328785d4146a095ce2efbdbb7c1f69f1cf. 2022-02-10 13:10:13 +11:00
Alistair Leslie-Hughes
00b2e468d3 Rebase against 576cdea0d75498ed948d0ba66a3451ea426f7935. 2022-02-09 10:41:47 +11:00
Zebediah Figura
aec9113618 eventfd_synchronization: Clear the message queue eventfd after modifying masks. 2022-02-07 23:54:36 -06:00
Zebediah Figura
773483f7f5 Rebase against 54b8c8c7eaafd19780cb4d91b763fe2f20327f50. 2022-02-07 23:49:59 -06:00
Alistair Leslie-Hughes
54850aa1ff Added wined3d-rotate-WINED3D_SWAP_EFFECT_DISCARD patchset 2022-02-05 13:01:18 +11:00
Alistair Leslie-Hughes
f538f2e2db Rebase against 4364ff8d5c0387edd6fae142affe8e844b291518. 2022-02-05 11:18:52 +11:00
Alistair Leslie-Hughes
80c80bbaa8 Rebase against cc91ba6da75ab82d249a5fea3b00abded5021585. 2022-02-04 12:28:48 +11:00
Alistair Leslie-Hughes
136d5e3400 Rebase against adda27cdb82fd40ef71e554b8ba17244cb871710. 2022-02-03 11:11:23 +11:00
Alistair Leslie-Hughes
ecf05ee19e Rebase against 9fea10cceb0fbc0cf3111f462c98f7b994d5c893. 2022-02-01 09:52:01 +11:00
Alistair Leslie-Hughes
ec936167b3 Updated xactengine3_7-callbacks patchset 2022-01-31 07:46:47 +11:00
Gabriel Ivăncescu
c437a01e2f winepulse-PulseAudio_Support: Rebase and re-enable. 2022-01-29 21:40:07 -06:00
Alistair Leslie-Hughes
8630febc5c Updated xactengine3_7-callbacks patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=52478
2022-01-30 10:54:20 +11:00
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
77 changed files with 3567 additions and 1769 deletions

View File

@@ -17,14 +17,11 @@ jobs:
brew update
brew install --cask xquartz
brew install bison \
faudio \
gphoto2 \
gst-plugins-base \
jxrlib \
little-cms2 \
mingw-w64 \
molten-vk \
mpg123
sdl2
- name: Add bison & krb5 to $PATH
run: |
@@ -64,9 +61,10 @@ jobs:
--x-lib=/opt/X11/lib
- name: Build wine64
# mingw-w64 brew formula bumped binutils 2.38 causing a regression in parallel builds
run: |
cd $GITHUB_WORKSPACE/wine
make -j$(sysctl -n hw.ncpu 2>/dev/null)
make
wine-devel:
runs-on: macos-latest
@@ -124,6 +122,7 @@ jobs:
--x-lib=/opt/X11/lib
- name: Build wine64
# mingw-w64 brew formula bumped binutils 2.38 causing a regression in parallel builds
run: |
cd $GITHUB_WORKSPACE/wine
make -j$(sysctl -n hw.ncpu 2>/dev/null)
make

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,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,317 +0,0 @@
From a8d19eb67828f3c4f157f0734d0d22c47cc11882 Mon Sep 17 00:00:00 2001
From: Andrey Gusev <andrey.goosev@gmail.com>
Date: Mon, 17 Dec 2018 12:23:40 +1100
Subject: [PATCH] d3dx9_*: Add D3DXSHProjectCubeMap stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46284
---
dlls/d3dx9_24/d3dx9_24.spec | 2 +-
dlls/d3dx9_25/d3dx9_25.spec | 2 +-
dlls/d3dx9_26/d3dx9_26.spec | 2 +-
dlls/d3dx9_27/d3dx9_27.spec | 2 +-
dlls/d3dx9_28/d3dx9_28.spec | 2 +-
dlls/d3dx9_29/d3dx9_29.spec | 2 +-
dlls/d3dx9_30/d3dx9_30.spec | 2 +-
dlls/d3dx9_31/d3dx9_31.spec | 2 +-
dlls/d3dx9_32/d3dx9_32.spec | 2 +-
dlls/d3dx9_33/d3dx9_33.spec | 2 +-
dlls/d3dx9_34/d3dx9_34.spec | 2 +-
dlls/d3dx9_35/d3dx9_35.spec | 2 +-
dlls/d3dx9_36/math.c | 14 ++++++++++++++
dlls/d3dx9_37/d3dx9_37.spec | 2 +-
dlls/d3dx9_38/d3dx9_38.spec | 2 +-
dlls/d3dx9_39/d3dx9_39.spec | 2 +-
dlls/d3dx9_40/d3dx9_40.spec | 2 +-
dlls/d3dx9_41/d3dx9_41.spec | 2 +-
dlls/d3dx9_42/d3dx9_42.spec | 2 +-
dlls/d3dx9_43/d3dx9_43.spec | 2 +-
include/d3dx9math.h | 1 +
21 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec
index 7002e2b..06fb3ca 100644
--- a/dlls/d3dx9_24/d3dx9_24.spec
+++ b/dlls/d3dx9_24/d3dx9_24.spec
@@ -256,7 +256,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec
index 3010005..e7b5f6b 100644
--- a/dlls/d3dx9_25/d3dx9_25.spec
+++ b/dlls/d3dx9_25/d3dx9_25.spec
@@ -256,7 +256,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec
index fe641a7..c4a6c9f 100644
--- a/dlls/d3dx9_26/d3dx9_26.spec
+++ b/dlls/d3dx9_26/d3dx9_26.spec
@@ -260,7 +260,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec
index fe641a7..c4a6c9f 100644
--- a/dlls/d3dx9_27/d3dx9_27.spec
+++ b/dlls/d3dx9_27/d3dx9_27.spec
@@ -260,7 +260,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec
index acbcf26..480396b 100644
--- a/dlls/d3dx9_28/d3dx9_28.spec
+++ b/dlls/d3dx9_28/d3dx9_28.spec
@@ -265,7 +265,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec
index acbcf26..480396b 100644
--- a/dlls/d3dx9_29/d3dx9_29.spec
+++ b/dlls/d3dx9_29/d3dx9_29.spec
@@ -265,7 +265,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec
index fdf5ee4..09014db 100644
--- a/dlls/d3dx9_30/d3dx9_30.spec
+++ b/dlls/d3dx9_30/d3dx9_30.spec
@@ -265,7 +265,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec
index ed842cd..3506942 100644
--- a/dlls/d3dx9_31/d3dx9_31.spec
+++ b/dlls/d3dx9_31/d3dx9_31.spec
@@ -262,7 +262,7 @@
@ stdcall D3DXSHEvalSphericalLight(long ptr float float float float ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec
index af5624c..4d24919 100644
--- a/dlls/d3dx9_32/d3dx9_32.spec
+++ b/dlls/d3dx9_32/d3dx9_32.spec
@@ -267,7 +267,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec
index af5624c..4d24919 100644
--- a/dlls/d3dx9_33/d3dx9_33.spec
+++ b/dlls/d3dx9_33/d3dx9_33.spec
@@ -267,7 +267,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec
index af5624c..4d24919 100644
--- a/dlls/d3dx9_34/d3dx9_34.spec
+++ b/dlls/d3dx9_34/d3dx9_34.spec
@@ -267,7 +267,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec
index af5624c..4d24919 100644
--- a/dlls/d3dx9_35/d3dx9_35.spec
+++ b/dlls/d3dx9_35/d3dx9_35.spec
@@ -267,7 +267,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_36/math.c b/dlls/d3dx9_36/math.c
index 8909c3c..bc1a7fc 100644
--- a/dlls/d3dx9_36/math.c
+++ b/dlls/d3dx9_36/math.c
@@ -3007,6 +3007,20 @@ static void rotate_X(FLOAT *out, UINT order, FLOAT a, FLOAT *in)
out[35] = 0.9057110548f * in[31] - 0.4192627370f * in[33] + 0.0624999329f * in[35];
}
+HRESULT WINAPI D3DXSHProjectCubeMap(UINT order, IDirect3DCubeTexture9 *cubemap, FLOAT *rout, FLOAT *gout, FLOAT *bout)
+{
+ FIXME("order %u, cubemap %p, rout %p, gout %p, bout %p: stub!\n", order, cubemap, rout, gout, bout);
+
+ if(!cubemap || order < D3DXSH_MINORDER || order > D3DXSH_MAXORDER)
+ return D3DERR_INVALIDCALL;
+
+ *rout = 0.0f;
+ *gout = 0.0f;
+ *bout = 0.0f;
+
+ return D3D_OK;
+}
+
FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in)
{
FLOAT alpha, beta, gamma, sinb, temp[36], temp1[36];
diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec
index de8b12c..10395ff 100644
--- a/dlls/d3dx9_37/d3dx9_37.spec
+++ b/dlls/d3dx9_37/d3dx9_37.spec
@@ -269,7 +269,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec
index de8b12c..10395ff 100644
--- a/dlls/d3dx9_38/d3dx9_38.spec
+++ b/dlls/d3dx9_38/d3dx9_38.spec
@@ -269,7 +269,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec
index de8b12c..10395ff 100644
--- a/dlls/d3dx9_39/d3dx9_39.spec
+++ b/dlls/d3dx9_39/d3dx9_39.spec
@@ -269,7 +269,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec
index de8b12c..10395ff 100644
--- a/dlls/d3dx9_40/d3dx9_40.spec
+++ b/dlls/d3dx9_40/d3dx9_40.spec
@@ -269,7 +269,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec
index de8b12c..10395ff 100644
--- a/dlls/d3dx9_41/d3dx9_41.spec
+++ b/dlls/d3dx9_41/d3dx9_41.spec
@@ -269,7 +269,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec
index c3bd9d5..5524bd0 100644
--- a/dlls/d3dx9_42/d3dx9_42.spec
+++ b/dlls/d3dx9_42/d3dx9_42.spec
@@ -262,7 +262,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec
index c3bd9d5..5524bd0 100644
--- a/dlls/d3dx9_43/d3dx9_43.spec
+++ b/dlls/d3dx9_43/d3dx9_43.spec
@@ -262,7 +262,7 @@
@ stub D3DXSHMultiply6(ptr ptr ptr)
@ stub D3DXSHPRTCompSplitMeshSC(ptr long long ptr long ptr long long ptr ptr long ptr ptr ptr ptr ptr)
@ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr)
-@ stub D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
+@ stdcall D3DXSHProjectCubeMap(long ptr ptr ptr ptr)
@ stdcall D3DXSHRotate(ptr long ptr ptr)
@ stdcall D3DXSHRotateZ(ptr long float ptr)
@ stdcall D3DXSHScale(ptr long ptr float)
diff --git a/include/d3dx9math.h b/include/d3dx9math.h
index bf03ca3..9296400d 100644
--- a/include/d3dx9math.h
+++ b/include/d3dx9math.h
@@ -396,6 +396,7 @@ HRESULT WINAPI D3DXSHEvalSphericalLight(UINT order, const D3DXVECTOR3 *dir, FLOA
FLOAT* WINAPI D3DXSHMultiply2(FLOAT *out, const FLOAT *a, const FLOAT *b);
FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, const FLOAT *a, const FLOAT *b);
FLOAT* WINAPI D3DXSHMultiply4(FLOAT *out, const FLOAT *a, const FLOAT *b);
+HRESULT WINAPI D3DXSHProjectCubeMap(UINT order, IDirect3DCubeTexture9 *cubemap, FLOAT *rout, FLOAT *gout, FLOAT *bout);
FLOAT* WINAPI D3DXSHRotate(FLOAT *out, UINT order, const D3DXMATRIX *matrix, const FLOAT *in);
FLOAT* WINAPI D3DXSHRotateZ(FLOAT *out, UINT order, FLOAT angle, const FLOAT *in);
FLOAT* WINAPI D3DXSHScale(FLOAT *out, UINT order, const FLOAT *a, const FLOAT scale);
--
1.9.1

View File

@@ -1 +0,0 @@
Fixes: [46284] Add D3DXSHProjectCubeMap stub

View File

@@ -1,4 +1,4 @@
From b094a7cf3f804ea40e5bd05ad738c48b5464e0bb Mon Sep 17 00:00:00 2001
From 8c78d1203c965927d0a0e6fcde31dd651cc704db 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,7 +9,7 @@ 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 22be2612eeb..2e11bb2b62d 100644
--- a/dlls/dbghelp/Makefile.in
+++ b/dlls/dbghelp/Makefile.in
@@ -2,7 +2,7 @@ MODULE = dbghelp.dll
@@ -22,10 +22,10 @@ index 22be2612eeb..f3f31eb3671 100644
C_SRCS = \
diff --git a/dlls/dbghelp/elf_module.c b/dlls/dbghelp/elf_module.c
index 553b212c526..3584a27953e 100644
index 404c7c11dbb..e0779e4e3a7 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 e7104770d4b57539d5b64a67212504910692e920 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 6cc190ee7fb..2fd9329aa68 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 )
@@ -364,12 +364,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
@@ -380,8 +394,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
@@ -401,7 +418,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
@@ -436,7 +455,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
@@ -444,7 +463,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
@@ -464,15 +483,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,
@@ -1935,13 +1959,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,
@@ -1973,6 +2002,14 @@ static HRESULT WINAPI dinput_device_BuildActionMap( IDirectInputDevice8W *iface,
}
}
@@ -144,8 +144,8 @@ 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
FIXME( "Unimplemented flags %#lx\n", flags );
@@ -1990,6 +2027,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
@@ -2022,12 +2060,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 2586736cb1d..e2be36ad7d3 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 } };
@@ -193,7 +193,7 @@ index 5ae9e225dc9..d3e86c68176 100644
DITEST_BUTTON,
@@ -472,6 +474,17 @@ static void test_action_mapping(void)
hr = IDirectInputDevice8_SetActionMap(data.keyboard, data.lpdiaf, NULL, 0);
ok (hr == DI_NOEFFECT, "SetActionMap should have no effect with no actions to map hr=%08x\n", hr);
ok (hr == DI_NOEFFECT, "SetActionMap should have no effect with no actions to map hr=%#lx\n", hr);
+ /* Test that after changing actionformat SetActionMap has effect and that second
+ * SetActionMap call with same empty actionformat has no effect */
@@ -210,7 +210,7 @@ index 5ae9e225dc9..d3e86c68176 100644
af.dwNumActions = ARRAY_SIZE(actionMapping);
@@ -663,6 +676,43 @@ static void test_save_settings(void)
"Mapped incorrectly expected: 0x%08x got: 0x%08x\n", other_results[1], af.rgoAction[1].dwObjID);
"Mapped incorrectly expected: 0x%#lx got: 0x%#lx\n", other_results[1], af.rgoAction[1].dwObjID);
ok (IsEqualGUID(&GUID_SysKeyboard, &af.rgoAction[1].guidInstance), "Action should be mapped to keyboard\n");
+ /* Save and load empty mapping */
@@ -254,5 +254,5 @@ index 5ae9e225dc9..d3e86c68176 100644
IDirectInput_Release(pDI);
}
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 0c01c25728780e3419f37ef612b14cc7e29f65f5 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 7112ca71932..43f8c659bfd 100644
index 13ccf8e4434..c535b0cf49d 100644
--- a/dlls/dwrite/analyzer.c
+++ b/dlls/dwrite/analyzer.c
@@ -2088,6 +2088,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 7112ca71932..43f8c659bfd 100644
HRESULT hr;
UINT32 i;
@@ -2099,9 +2100,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 7112ca71932..43f8c659bfd 100644
weight, style, stretch, mapped_font);
if (hr == S_OK) {
TRACE("Created fallback font using family %s.\n", debugstr_w(mapping->families[i]));
@@ -2158,32 +2165,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);
@@ -124,10 +124,10 @@ index 7112ca71932..43f8c659bfd 100644
free(buff);
return hr;
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index f28c71082c0..9a884824b76 100644
index d4aa49c6a6c..cda50c20777 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -964,6 +964,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 f28c71082c0..9a884824b76 100644
IDWriteFont_Release(font);
if (FAILED(hr)) {
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index a1bff0d26d6..929d6ec1cc2 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 a1bff0d26d6..929d6ec1cc2 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 a1bff0d26d6..929d6ec1cc2 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 a1bff0d26d6..929d6ec1cc2 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 a1bff0d26d6..929d6ec1cc2 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);
@@ -304,5 +304,5 @@ index a1bff0d26d6..929d6ec1cc2 100644
IDWriteTextLayout_Release(layout);
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 291fd879b030b16238329ff4f530ab3577ea6fc0 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.
@@ -346,7 +346,7 @@ 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 8f20da7eece..befa355a4fc 100644
index 10884a7a673..28cc48e04bf 100644
--- a/dlls/ntdll/unix/loader.c
+++ b/dlls/ntdll/unix/loader.c
@@ -89,6 +89,7 @@
@@ -357,7 +357,7 @@ index 8f20da7eece..befa355a4fc 100644
#include "wine/list.h"
#include "wine/debug.h"
@@ -2081,6 +2082,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();
@@ -366,19 +366,19 @@ index 8f20da7eece..befa355a4fc 100644
init_cpu_info();
init_files();
diff --git a/dlls/ntdll/unix/server.c b/dlls/ntdll/unix/server.c
index a388247beb2..79b83589d81 100644
index 6a3224d8385..de65f936a59 100644
--- a/dlls/ntdll/unix/server.c
+++ b/dlls/ntdll/unix/server.c
@@ -104,7 +104,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 )
@@ -801,7 +801,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.
*/
@@ -422,5 +422,5 @@ index b9dbfa322bc..99e57eca44c 100644
int do_esync(void)
{
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 5f823452dba72254c36a68c974528b83cb5c50b6 Mon Sep 17 00:00:00 2001
From 9ab2897d8c05a9950ce14200d1d7f374a31ee886 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Fri, 8 Jun 2018 18:51:40 -0500
Subject: [PATCH] server: Add an object operation to grab the esync file
@@ -38,11 +38,12 @@ Split off to decrease patch size.
server/thread.c | 3 +++
server/timer.c | 1 +
server/token.c | 1 +
server/window.c | 1 +
server/winstation.c | 2 ++
33 files changed, 67 insertions(+)
34 files changed, 68 insertions(+)
diff --git a/server/async.c b/server/async.c
index 1a564ff1a69..0b8e1ba1fd9 100644
index 7aef28355f0..7ac675f75c4 100644
--- a/server/async.c
+++ b/server/async.c
@@ -77,6 +77,7 @@ static const struct object_ops async_ops =
@@ -53,7 +54,7 @@ index 1a564ff1a69..0b8e1ba1fd9 100644
async_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -587,6 +588,7 @@ static const struct object_ops iosb_ops =
@@ -586,6 +587,7 @@ static const struct object_ops iosb_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@@ -74,7 +75,7 @@ index ff0799f5880..d9824de8eac 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/change.c b/server/change.c
index a01d6894151..782801e8e1d 100644
index 325782d8197..90d5bfa3019 100644
--- a/server/change.c
+++ b/server/change.c
@@ -112,6 +112,7 @@ static const struct object_ops dir_ops =
@@ -110,7 +111,7 @@ index 6933195e72d..3d4be86a212 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/console.c b/server/console.c
index 136c14862e3..e7c97e99579 100644
index 5407fba1411..ef6bcb12f5a 100644
--- a/server/console.c
+++ b/server/console.c
@@ -81,6 +81,7 @@ static const struct object_ops console_ops =
@@ -278,7 +279,7 @@ index f1b79b1b35e..c727bfdd1ba 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/fd.c b/server/fd.c
index 45a1b226f33..b0e98909fa6 100644
index cd8f7171e6e..a61c09559fe 100644
--- a/server/fd.c
+++ b/server/fd.c
@@ -212,6 +212,7 @@ static const struct object_ops fd_ops =
@@ -314,10 +315,10 @@ index 45a1b226f33..b0e98909fa6 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/file.c b/server/file.c
index 3079afdbdfd..30db0450a3f 100644
index 090d6c244f7..7edf612de73 100644
--- a/server/file.c
+++ b/server/file.c
@@ -94,6 +94,7 @@ static const struct object_ops file_ops =
@@ -123,6 +123,7 @@ static const struct object_ops file_ops =
add_queue, /* add_queue */
remove_queue, /* remove_queue */
default_fd_signaled, /* signaled */
@@ -326,7 +327,7 @@ index 3079afdbdfd..30db0450a3f 100644
no_signal, /* signal */
file_get_fd, /* get_fd */
diff --git a/server/handle.c b/server/handle.c
index bc692b8ebeb..c280335611c 100644
index 38ad80da267..53cc1e4eb43 100644
--- a/server/handle.c
+++ b/server/handle.c
@@ -126,6 +126,7 @@ static const struct object_ops handle_table_ops =
@@ -386,7 +387,7 @@ index 2d8697ec9bd..4cf9b73f784 100644
no_signal, /* signal */
mailslot_device_file_get_fd, /* get_fd */
diff --git a/server/mapping.c b/server/mapping.c
index bc9ed5bdcb9..6cd123f6aa9 100644
index 8d4332d240f..1a8d480cfa9 100644
--- a/server/mapping.c
+++ b/server/mapping.c
@@ -67,6 +67,7 @@ static const struct object_ops ranges_ops =
@@ -470,7 +471,7 @@ index 3e6cf09d4f2..b8ec17a787a 100644
no_signal, /* signal */
named_pipe_device_file_get_fd, /* get_fd */
diff --git a/server/object.h b/server/object.h
index f156f1d2f13..c98e45125a0 100644
index f6ad9e8ccdd..f4261d0d585 100644
--- a/server/object.h
+++ b/server/object.h
@@ -78,6 +78,8 @@ struct object_ops
@@ -483,7 +484,7 @@ index f156f1d2f13..c98e45125a0 100644
void (*satisfied)(struct object *,struct wait_queue_entry *);
/* signal an object */
diff --git a/server/process.c b/server/process.c
index 0cc7f6b60ee..c502a58f9a2 100644
index 60cc03032b2..c79a574d137 100644
--- a/server/process.c
+++ b/server/process.c
@@ -105,6 +105,7 @@ static const struct object_ops process_ops =
@@ -511,7 +512,7 @@ index 0cc7f6b60ee..c502a58f9a2 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/queue.c b/server/queue.c
index bcb2f237074..6daa12958ca 100644
index 051aafc6c3d..375b3e33a6e 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -173,6 +173,7 @@ static const struct object_ops msg_queue_ops =
@@ -531,7 +532,7 @@ index bcb2f237074..6daa12958ca 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/registry.c b/server/registry.c
index b00abdbc004..8652576ec3f 100644
index 93e8a309593..32a424cd842 100644
--- a/server/registry.c
+++ b/server/registry.c
@@ -178,6 +178,7 @@ static const struct object_ops key_ops =
@@ -591,7 +592,7 @@ index 19b76d44c16..55cd6aa037e 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/sock.c b/server/sock.c
index 2df4f3d3056..3cc06db8225 100644
index 512b7c0f78e..7a8be919494 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -249,6 +249,7 @@ static const struct object_ops sock_ops =
@@ -602,7 +603,7 @@ index 2df4f3d3056..3cc06db8225 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
sock_get_fd, /* get_fd */
@@ -3114,6 +3115,7 @@ static const struct object_ops ifchange_ops =
@@ -3124,6 +3125,7 @@ static const struct object_ops ifchange_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@@ -610,7 +611,7 @@ index 2df4f3d3056..3cc06db8225 100644
no_satisfied, /* satisfied */
no_signal, /* signal */
ifchange_get_fd, /* get_fd */
@@ -3335,6 +3337,7 @@ static const struct object_ops socket_device_ops =
@@ -3345,6 +3347,7 @@ static const struct object_ops socket_device_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@@ -671,10 +672,10 @@ index 96dc9d00ca1..f59902d5607 100644
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/token.c b/server/token.c
index 820a7a0e07d..e42c1a159e3 100644
index dcb2a879ba6..76a6bc279a5 100644
--- a/server/token.c
+++ b/server/token.c
@@ -163,6 +163,7 @@ static const struct object_ops token_ops =
@@ -150,6 +150,7 @@ static const struct object_ops token_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
@@ -682,8 +683,20 @@ index 820a7a0e07d..e42c1a159e3 100644
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/window.c b/server/window.c
index 24059aac0fe..a79fda5ad80 100644
--- a/server/window.c
+++ b/server/window.c
@@ -108,6 +108,7 @@ static const struct object_ops window_ops =
no_add_queue, /* add_queue */
NULL, /* remove_queue */
NULL, /* signaled */
+ NULL, /* get_esync_fd */
NULL, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
diff --git a/server/winstation.c b/server/winstation.c
index 854affead77..1535321da2d 100644
index 1408e1a9e65..a99c60a28ff 100644
--- a/server/winstation.c
+++ b/server/winstation.c
@@ -75,6 +75,7 @@ static const struct object_ops winstation_ops =

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 2da453ad472ce69926e158bd4e933facd985d1cd Mon Sep 17 00:00:00 2001
From a273680e7cbdc66e9fdb6fd6482803ddfed94dca Mon Sep 17 00:00:00 2001
From: Zebediah Figura <zfigura@codeweavers.com>
Date: Mon, 6 Jul 2020 16:01:56 -0500
Subject: [PATCH] server: Create eventfd file descriptors for message queues.
---
server/queue.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
server/queue.c | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/server/queue.c b/server/queue.c
index 1f1392387df..d34bc284d08 100644
index b6decc521e9..e70c0f5ad81 100644
--- a/server/queue.c
+++ b/server/queue.c
@@ -43,6 +43,7 @@
@@ -41,6 +41,7 @@
#include "process.h"
#include "request.h"
#include "user.h"
@@ -19,7 +19,7 @@ index 1f1392387df..d34bc284d08 100644
#define WM_NCMOUSEFIRST WM_NCMOUSEMOVE
#define WM_NCMOUSELAST (WM_NCMOUSEFIRST+(WM_MOUSELAST-WM_MOUSEFIRST))
@@ -144,6 +145,7 @@ struct msg_queue
@@ -142,6 +143,7 @@ struct msg_queue
timeout_t last_get_msg; /* time of last get message call */
int keystate_lock; /* owns an input keystate lock */
unsigned int ignore_post_msg; /* ignore post messages newer than this unique id */
@@ -27,7 +27,7 @@ index 1f1392387df..d34bc284d08 100644
};
struct hotkey
@@ -160,6 +162,7 @@ static void msg_queue_dump( struct object *obj, int verbose );
@@ -158,6 +160,7 @@ static void msg_queue_dump( struct object *obj, int verbose );
static int msg_queue_add_queue( struct object *obj, struct wait_queue_entry *entry );
static void msg_queue_remove_queue( struct object *obj, struct wait_queue_entry *entry );
static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entry );
@@ -35,7 +35,7 @@ index 1f1392387df..d34bc284d08 100644
static void msg_queue_satisfied( struct object *obj, struct wait_queue_entry *entry );
static void msg_queue_destroy( struct object *obj );
static void msg_queue_poll_event( struct fd *fd, int event );
@@ -175,7 +178,7 @@ static const struct object_ops msg_queue_ops =
@@ -173,7 +176,7 @@ static const struct object_ops msg_queue_ops =
msg_queue_add_queue, /* add_queue */
msg_queue_remove_queue, /* remove_queue */
msg_queue_signaled, /* signaled */
@@ -44,7 +44,7 @@ index 1f1392387df..d34bc284d08 100644
msg_queue_satisfied, /* satisfied */
no_signal, /* signal */
no_get_fd, /* get_fd */
@@ -315,12 +318,16 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
@@ -313,12 +316,16 @@ static struct msg_queue *create_msg_queue( struct thread *thread, struct thread_
queue->last_get_msg = current_time;
queue->keystate_lock = 0;
queue->ignore_post_msg = 0;
@@ -61,7 +61,7 @@ index 1f1392387df..d34bc284d08 100644
thread->queue = queue;
}
if (new_input) release_object( new_input );
@@ -534,6 +541,9 @@ static inline void clear_queue_bits( struct msg_queue *queue, unsigned int bits
@@ -533,6 +540,9 @@ static inline void clear_queue_bits( struct msg_queue *queue, unsigned int bits
if (queue->keystate_lock) unlock_input_keystate( queue->input );
queue->keystate_lock = 0;
}
@@ -71,7 +71,7 @@ index 1f1392387df..d34bc284d08 100644
}
/* check whether msg is a keyboard message */
@@ -1047,6 +1057,13 @@ static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entr
@@ -1046,6 +1056,13 @@ static int msg_queue_signaled( struct object *obj, struct wait_queue_entry *entr
return ret || is_signaled( queue );
}
@@ -85,7 +85,17 @@ index 1f1392387df..d34bc284d08 100644
static void msg_queue_satisfied( struct object *obj, struct wait_queue_entry *entry )
{
struct msg_queue *queue = (struct msg_queue *)obj;
@@ -2425,6 +2442,9 @@ DECL_HANDLER(get_queue_status)
@@ -2485,6 +2502,9 @@ DECL_HANDLER(set_queue_mask)
if (req->skip_wait) queue->wake_mask = queue->changed_mask = 0;
else wake_up( &queue->obj, 0 );
}
+
+ if (do_esync() && !is_signaled( queue ))
+ esync_clear( queue->esync_fd );
}
}
@@ -2498,6 +2518,9 @@ DECL_HANDLER(get_queue_status)
reply->wake_bits = queue->wake_bits;
reply->changed_bits = queue->changed_bits;
queue->changed_bits &= ~req->clear_bits;
@@ -95,6 +105,17 @@ index 1f1392387df..d34bc284d08 100644
}
else reply->wake_bits = reply->changed_bits = 0;
}
@@ -2746,6 +2769,10 @@ DECL_HANDLER(get_message)
queue->wake_mask = req->wake_mask;
queue->changed_mask = req->changed_mask;
set_error( STATUS_PENDING ); /* FIXME */
+
+ if (do_esync() && !is_signaled( queue ))
+ esync_clear( queue->esync_fd );
+
return;
found_msg:
--
2.30.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 c62655b9d54ce8b692bd84d41abe09cc40ae10e1 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.
@@ -37,7 +37,7 @@ index 0217203791a..ba2388c97ed 100644
IDL_SRCS = inseng_classes.idl
diff --git a/dlls/inseng/icif.c b/dlls/inseng/icif.c
new file mode 100644
index 00000000000..11a91b86476
index 00000000000..27f6f6dfd93
--- /dev/null
+++ b/dlls/inseng/icif.c
@@ -0,0 +1,1745 @@
@@ -301,7 +301,7 @@ index 00000000000..11a91b86476
+{
+ struct cifgroup *This = impl_from_ICifGroup(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, id, size);
+ TRACE("(%p)->(%p, %lu)\n", This, id, size);
+
+ return copy_substring_null(id, size, This->id);
+}
@@ -310,7 +310,7 @@ index 00000000000..11a91b86476
+{
+ struct cifgroup *This = impl_from_ICifGroup(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, desc, size);
+ TRACE("(%p)->(%p, %lu)\n", This, desc, size);
+
+ return copy_substring_null(desc, size, This->description);
+}
@@ -329,10 +329,10 @@ index 00000000000..11a91b86476
+ struct cifgroup *This = impl_from_ICifGroup(iface);
+ struct ciffile *file;
+
+ TRACE("(%p)->(%p, %u, %p)\n", This, enum_components, filter, pv);
+ TRACE("(%p)->(%p, %#lx, %p)\n", This, enum_components, filter, pv);
+
+ if (filter)
+ FIXME("filter (%x) not supported\n", filter);
+ FIXME("filter (%#lx) not supported\n", filter);
+ if (pv)
+ FIXME("how to handle pv (%p)?\n", pv);
+
@@ -390,7 +390,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, id, size);
+ TRACE("(%p)->(%p, %lu)\n", This, id, size);
+
+ return copy_substring_null(id, size, This->id);
+}
@@ -399,7 +399,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, guid, size);
+ TRACE("(%p)->(%p, %lu)\n", This, guid, size);
+
+ return copy_substring_null(guid, size, This->guid);
+}
@@ -408,7 +408,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, desc, size);
+ TRACE("(%p)->(%p, %lu)\n", This, desc, size);
+
+ return copy_substring_null(desc, size, This->description);
+}
@@ -417,7 +417,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, details, size);
+ TRACE("(%p)->(%p, %lu)\n", This, details, size);
+
+ return copy_substring_null(details, size, This->details);
+}
@@ -427,7 +427,7 @@ index 00000000000..11a91b86476
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+ struct url_info *entry;
+
+ TRACE("(%p)->(%u, %p, %u, %p)\n", This, index, url, size, flags);
+ TRACE("(%p)->(%u, %p, %lu, %p)\n", This, index, url, size, flags);
+
+ /* FIXME: check how functions behaves for url == NULL */
+
@@ -450,7 +450,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%u, %p, %u): stub\n", This, index, list, size);
+ FIXME("(%p)->(%u, %p, %lu): stub\n", This, index, list, size);
+
+ return E_NOTIMPL;
+}
@@ -468,7 +468,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%u, %p, %u, %p, %u, %p): stub\n", This, index, cmd, cmd_size, switches, switch_size, type);
+ FIXME("(%p)->(%u, %p, %lu, %p, %lu, %p): stub\n", This, index, cmd, cmd_size, switches, switch_size, type);
+
+ return E_NOTIMPL;
+}
@@ -492,7 +492,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, locale, size);
+ TRACE("(%p)->(%p, %lu)\n", This, locale, size);
+
+ return copy_substring_null(locale, size, This->locale);
+}
@@ -501,7 +501,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, key, size);
+ TRACE("(%p)->(%p, %lu)\n", This, key, size);
+
+ return copy_substring_null(key, size, This->key_uninstall);
+}
@@ -543,7 +543,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, key, size);
+ TRACE("(%p)->(%p, %lu)\n", This, key, size);
+
+ return copy_substring_null(key, size, This->key_success);
+}
@@ -554,7 +554,7 @@ index 00000000000..11a91b86476
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+ HRESULT hr;
+
+ TRACE("(%p)->(%p, %u, %p, %u): semi-stub\n", This, progress, progress_size, cancel, cancel_size);
+ TRACE("(%p)->(%p, %lu, %p, %lu): semi-stub\n", This, progress, progress_size, cancel, cancel_size);
+
+ hr = copy_substring_null(progress, progress_size, This->key_progress);
+ if (hr != S_OK) return hr;
@@ -608,7 +608,7 @@ index 00000000000..11a91b86476
+ ICifComponent *dependency;
+ int pos = 0;
+
+ TRACE("(%p)->(%u, %p, %u, %p, %p, %p)\n", This, index, id, id_size, type, ver, build);
+ TRACE("(%p)->(%u, %p, %lu, %p, %p, %p)\n", This, index, id, id_size, type, ver, build);
+
+ if (!id || !ver || !build)
+ return E_FAIL;
@@ -652,7 +652,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%u, %p, %u): stub\n", This, index, mode, size);
+ FIXME("(%p)->(%u, %p, %lu): stub\n", This, index, mode, size);
+
+ return E_NOTIMPL;
+}
@@ -661,7 +661,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, id, size);
+ TRACE("(%p)->(%p, %lu)\n", This, id, size);
+
+ return copy_substring_null(id, size, This->group);
+}
@@ -679,7 +679,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, id, size);
+ TRACE("(%p)->(%p, %lu)\n", This, id, size);
+
+ return copy_substring_null(id, size, This->patchid);
+}
@@ -688,7 +688,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%p, %u, %p, %u): stub\n", This, dll, dll_size, entry, entry_size);
+ FIXME("(%p)->(%p, %lu, %p, %lu): stub\n", This, dll, dll_size, entry, entry_size);
+
+ return E_NOTIMPL;
+}
@@ -697,7 +697,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%u, %p, %u): stub\n", This, index, id, size);
+ FIXME("(%p)->(%u, %p, %lu): stub\n", This, index, id, size);
+
+ return E_NOTIMPL;
+}
@@ -706,7 +706,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%s, %p, %u): stub\n", This, debugstr_a(key), data, size);
+ FIXME("(%p)->(%s, %p, %lu): stub\n", This, debugstr_a(key), data, size);
+
+ return E_NOTIMPL;
+}
@@ -733,7 +733,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ FIXME("(%p)->(%u, %u, %p, %p): stub\n", This, version, build, ret_version, ret_build);
+ FIXME("(%p)->(%lu, %lu, %p, %p): stub\n", This, version, build, ret_version, ret_build);
+
+ return 0;
+}
@@ -751,7 +751,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%u)\n", This, state);
+ TRACE("(%p)->(%lu)\n", This, state);
+
+ This->queue_state = state;
+ return S_OK;
@@ -780,7 +780,7 @@ index 00000000000..11a91b86476
+{
+ struct cifcomponent *This = impl_from_ICifComponent(iface);
+
+ TRACE("(%p)->(%u)\n", This, priority);
+ TRACE("(%p)->(%lu)\n", This, priority);
+
+ This->current_priority = priority;
+ return S_OK;
@@ -859,7 +859,7 @@ index 00000000000..11a91b86476
+ struct ciffenum_components *This = impl_from_IEnumCifComponents(iface);
+ LONG ref = InterlockedIncrement(&This->ref);
+
+ TRACE("(%p) ref=%d\n", This, ref);
+ TRACE("(%p) ref=%ld\n", This, ref);
+
+ return ref;
+}
@@ -869,7 +869,7 @@ index 00000000000..11a91b86476
+ struct ciffenum_components *This = impl_from_IEnumCifComponents(iface);
+ LONG ref = InterlockedDecrement(&This->ref);
+
+ TRACE("(%p) ref=%d\n", This, ref);
+ TRACE("(%p) ref=%ld\n", This, ref);
+
+ if(!ref)
+ {
@@ -983,7 +983,7 @@ index 00000000000..11a91b86476
+ struct ciffenum_groups *This = impl_from_IEnumCifGroups(iface);
+ LONG ref = InterlockedIncrement(&This->ref);
+
+ TRACE("(%p) ref=%d\n", This, ref);
+ TRACE("(%p) ref=%ld\n", This, ref);
+
+ return ref;
+}
@@ -993,7 +993,7 @@ index 00000000000..11a91b86476
+ struct ciffenum_groups *This = impl_from_IEnumCifGroups(iface);
+ LONG ref = InterlockedDecrement(&This->ref);
+
+ TRACE("(%p) ref=%d\n", This, ref);
+ TRACE("(%p) ref=%ld\n", This, ref);
+
+ if(!ref)
+ {
@@ -1092,7 +1092,7 @@ index 00000000000..11a91b86476
+ struct ciffile *This = impl_from_ICiffile(iface);
+ LONG ref = InterlockedIncrement(&This->ref);
+
+ TRACE("(%p) ref=%d\n", This, ref);
+ TRACE("(%p) ref=%ld\n", This, ref);
+
+ return ref;
+}
@@ -1102,7 +1102,7 @@ index 00000000000..11a91b86476
+ struct ciffile *This = impl_from_ICiffile(iface);
+ LONG ref = InterlockedDecrement(&This->ref);
+
+ TRACE("(%p) ref=%d\n", This, ref);
+ TRACE("(%p) ref=%ld\n", This, ref);
+
+ if(!ref)
+ {
@@ -1133,10 +1133,10 @@ index 00000000000..11a91b86476
+{
+ struct ciffile *This = impl_from_ICiffile(iface);
+
+ TRACE("(%p)->(%p, %u, %p)\n", This, enum_components, filter, pv);
+ TRACE("(%p)->(%p, %#lx, %p)\n", This, enum_components, filter, pv);
+
+ if (filter)
+ FIXME("filter (%x) not supported\n", filter);
+ FIXME("filter (%#lx) not supported\n", filter);
+ if (pv)
+ FIXME("how to handle pv (%p)?\n", pv);
+
@@ -1166,10 +1166,10 @@ index 00000000000..11a91b86476
+{
+ struct ciffile *This = impl_from_ICiffile(iface);
+
+ TRACE("(%p)->(%p, %u, %p)\n", This, enum_groups, filter, pv);
+ TRACE("(%p)->(%p, %#lx, %p)\n", This, enum_groups, filter, pv);
+
+ if (filter)
+ FIXME("filter (%x) not supported\n", filter);
+ FIXME("filter (%#lx) not supported\n", filter);
+ if (pv)
+ FIXME("how to handle pv (%p)?\n", pv);
+
@@ -1199,7 +1199,7 @@ index 00000000000..11a91b86476
+{
+ struct ciffile *This = impl_from_ICiffile(iface);
+
+ FIXME("(%p)->(%p, %u, %p): stub\n", This, cuf_modes, filter, pv);
+ FIXME("(%p)->(%p, %lu, %p): stub\n", This, cuf_modes, filter, pv);
+
+ return E_NOTIMPL;
+}
@@ -1217,7 +1217,7 @@ index 00000000000..11a91b86476
+{
+ struct ciffile *This = impl_from_ICiffile(iface);
+
+ TRACE("(%p)->(%p, %u)\n", This, desc, size);
+ TRACE("(%p)->(%p, %lu)\n", This, desc, size);
+
+ return copy_substring_null(desc, size, This->name);
+}
@@ -1226,7 +1226,7 @@ index 00000000000..11a91b86476
+{
+ struct ciffile *This = impl_from_ICiffile(iface);
+
+ FIXME("(%p)->(%p, %u): stub\n", This, dlls, size);
+ FIXME("(%p)->(%p, %lu): stub\n", This, dlls, size);
+
+ return E_NOTIMPL;
+}
@@ -1728,7 +1728,7 @@ index 00000000000..11a91b86476
+ else
+ hr = process_section(file, section, section_name);
+
+ TRACE("finished processing section %s (%x)\n", debugstr_a(section_name), hr);
+ TRACE("Finished processing section %s, hr %#lx.\n", debugstr_a(section_name), hr);
+ heap_free(section_name);
+ }
+
@@ -2249,7 +2249,7 @@ index 82c0b4d5fe1..7ae46fad3a7 100644
+@ stdcall GetICifRWFileFromFile(ptr str)
@ stub PurgeDownloadDirectory
diff --git a/dlls/inseng/inseng_main.c b/dlls/inseng/inseng_main.c
index 2c95a2e72bd..6a926ccb379 100644
index c72a12955b8..87d11472ff0 100644
--- a/dlls/inseng/inseng_main.c
+++ b/dlls/inseng/inseng_main.c
@@ -2,6 +2,7 @@
@@ -2374,7 +2374,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+ LONG ref = InterlockedIncrement(&This->ref);
+
+ TRACE("(%p) ref = %d\n", This, ref);
+ TRACE("(%p) ref = %ld\n", This, ref);
+
+ return ref;
+}
@@ -2384,7 +2384,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+ LONG ref = InterlockedDecrement(&This->ref);
+
+ TRACE("(%p) ref = %d\n", This, ref);
+ TRACE("(%p) ref = %ld\n", This, ref);
+
+ if (!ref)
+ {
@@ -2402,7 +2402,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+{
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+
+ TRACE("(%p)->(%u %p)\n", This, reserved, pbind);
+ TRACE("(%p)->(%lu %p)\n", This, reserved, pbind);
+
+ return S_OK;
+}
@@ -2420,7 +2420,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+{
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+
+ FIXME("(%p)->(%u): stub\n", This, reserved);
+ FIXME("(%p)->(%lu): stub\n", This, reserved);
+
+ return E_NOTIMPL;
+}
@@ -2431,7 +2431,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+ HRESULT hr = S_OK;
+
+ TRACE("%p)->(%u %u %u %s)\n", This, progress, progress_max, status, debugstr_w(status_text));
+ TRACE("%p)->(%lu %lu %lu %s)\n", This, progress, progress_max, status, debugstr_w(status_text));
+
+ switch(status)
+ {
@@ -2465,7 +2465,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+ break;
+
+ default:
+ FIXME("Unsupported status %u\n", status);
+ FIXME("Unsupported status %lu\n", status);
+ }
+
+ return hr;
@@ -2475,7 +2475,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+{
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+
+ TRACE("(%p)->(%08x %s)\n", This, hresult, debugstr_w(szError));
+ TRACE("(%p)->(%#lx %s)\n", This, hresult, debugstr_w(szError));
+
+ if (FAILED(hresult))
+ {
@@ -2518,7 +2518,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+{
+ struct downloadcb *This = impl_from_IBindStatusCallback(iface);
+
+ TRACE("(%p)->(%08x %u %p %p)\n", This, grfBSCF, dwSize, pformatetc, pstgmed);
+ TRACE("(%p)->(%#lx %lu %p %p)\n", This, grfBSCF, dwSize, pformatetc, pstgmed);
+
+ return S_OK;
+}
@@ -2602,7 +2602,7 @@ index 2c95a2e72bd..6a926ccb379 100644
@@ -86,181 +385,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface)
TRACE("(%p) ref=%d\n", This, ref);
TRACE("(%p) ref=%ld\n", This, ref);
- if(!ref)
+ if (!ref)
@@ -3046,10 +3046,10 @@ index 2c95a2e72bd..6a926ccb379 100644
static HRESULT WINAPI InstallEngine_DownloadComponents(IInstallEngine2 *iface, DWORD flags)
{
InstallEngine *This = impl_from_IInstallEngine2(iface);
- FIXME("(%p)->(%x)\n", This, flags);
- FIXME("(%p)->(%lx)\n", This, flags);
- return E_NOTIMPL;
+
+ TRACE("(%p)->(%x)\n", This, flags);
+ TRACE("(%p)->(%#lx)\n", This, flags);
+
+ /* The interface is not really threadsafe on windows, but we can at least prevent multiple installations */
+ if (InterlockedCompareExchange((LONG *)&This->status, ENGINESTATUS_INSTALLING, ENGINESTATUS_READY) != ENGINESTATUS_READY)
@@ -3064,9 +3064,9 @@ index 2c95a2e72bd..6a926ccb379 100644
static HRESULT WINAPI InstallEngine_InstallComponents(IInstallEngine2 *iface, DWORD flags)
{
InstallEngine *This = impl_from_IInstallEngine2(iface);
- FIXME("(%p)->(%x)\n", This, flags);
- FIXME("(%p)->(%lx)\n", This, flags);
+
+ FIXME("(%p)->(%x): stub\n", This, flags);
+ FIXME("(%p)->(%#lx): stub\n", This, flags);
+
return E_NOTIMPL;
}
@@ -3076,7 +3076,7 @@ index 2c95a2e72bd..6a926ccb379 100644
InstallEngine *This = impl_from_IInstallEngine2(iface);
- FIXME("(%p)->(%d %p)\n", This, index, id);
+
+ FIXME("(%p)->(%u %p): stub\n", This, index, id);
+ FIXME("(%p)->(%lu %p): stub\n", This, index, id);
+
return E_NOTIMPL;
}
@@ -3090,7 +3090,7 @@ index 2c95a2e72bd..6a926ccb379 100644
+ ICifComponent *comp;
+ HRESULT hr;
+
+ TRACE("(%p)->(%u %p)\n", This, index, id);
+ TRACE("(%p)->(%lu %p)\n", This, index, id);
+
+ if (!This->icif || !id)
+ return E_FAIL;
@@ -3166,12 +3166,12 @@ index 2c95a2e72bd..6a926ccb379 100644
static HRESULT WINAPI InstallEngine_SetAction(IInstallEngine2 *iface, const char *id, DWORD action, DWORD priority)
{
InstallEngine *This = impl_from_IInstallEngine2(iface);
- FIXME("(%p)->(%s %d %d)\n", This, debugstr_a(id), action, priority);
- FIXME("(%p)->(%s %ld %ld)\n", This, debugstr_a(id), action, priority);
- return E_NOTIMPL;
+ ICifComponent *comp;
+ HRESULT hr;
+
+ TRACE("(%p)->(%s %u %u)\n", This, debugstr_a(id), action, priority);
+ TRACE("(%p)->(%s %lu %lu)\n", This, debugstr_a(id), action, priority);
+
+ if (!This->icif)
+ return E_FAIL; /* FIXME: check error code */
@@ -3259,9 +3259,9 @@ index 2c95a2e72bd..6a926ccb379 100644
static HRESULT WINAPI InstallEngine_SetInstallOptions(IInstallEngine2 *iface, DWORD flags)
{
InstallEngine *This = impl_from_IInstallEngine2(iface);
- FIXME("(%p)->(%x)\n", This, flags);
- FIXME("(%p)->(%lx)\n", This, flags);
+
+ FIXME("(%p)->(%x): stub\n", This, flags);
+ FIXME("(%p)->(%#lx): stub\n", This, flags);
+
return E_NOTIMPL;
}
@@ -3289,9 +3289,9 @@ index 2c95a2e72bd..6a926ccb379 100644
static HRESULT WINAPI InstallEngine_Abort(IInstallEngine2 *iface, DWORD flags)
{
InstallEngine *This = impl_from_IInstallEngine2(iface);
- FIXME("(%p)->(%x)\n", This, flags);
- FIXME("(%p)->(%lx)\n", This, flags);
+
+ FIXME("(%p)->(%x): stub\n", This, flags);
+ FIXME("(%p)->(%#lx): stub\n", This, flags);
+
return E_NOTIMPL;
}
@@ -3862,5 +3862,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 b2a5efcef525f887c7fe40ce3ed0a8a47c42d5fc Mon Sep 17 00:00:00 2001
From f29eb0b6a2b555beea0c29e9202c218ef31311b6 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.
@@ -9,7 +9,7 @@ Subject: [PATCH] kernelbase: Add support for progress callback in CopyFileEx.
2 files changed, 71 insertions(+), 12 deletions(-)
diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c
index 6ea9dffde5c..b12d0477e04 100644
index f8e49491a7d..74c13ff11d0 100644
--- a/dlls/kernel32/tests/file.c
+++ b/dlls/kernel32/tests/file.c
@@ -1169,23 +1169,17 @@ static void test_CopyFileEx(void)
@@ -37,7 +37,7 @@ index 6ea9dffde5c..b12d0477e04 100644
retok = CopyFileExA(source, NULL, copy_progress_cb, hfile, NULL, 0);
diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c
index 23a36b0a765..98cf7e58368 100644
index c6dc904044a..b9ba1bd7c26 100644
--- a/dlls/kernelbase/file.c
+++ b/dlls/kernelbase/file.c
@@ -499,11 +499,16 @@ BOOL WINAPI CopyFileExW( const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUT
@@ -60,7 +60,7 @@ index 23a36b0a765..98cf7e58368 100644
{
@@ -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);
TRACE("%s -> %s, %lx\n", debugstr_w(source), debugstr_w(dest), flags);
- if ((h1 = CreateFileW( source, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
+ if (flags & COPY_FILE_RESTARTABLE)
@@ -169,5 +169,5 @@ index 23a36b0a765..98cf7e58368 100644
CloseHandle( h1 );
CloseHandle( h2 );
--
2.30.2
2.34.1

View File

@@ -1,4 +1,4 @@
From 96bd1ab47a39d621c5f63264fb4bc415164d371c Mon Sep 17 00:00:00 2001
From e5ed00ac26224e2f7cc6e2ee769d254ead973ef2 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,7 +10,7 @@ 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 94c9ce3ad1b..8447e67486c 100644
index 8f48b89334c..1ce19b5b418 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -2560,6 +2560,13 @@ static void test_lcmapstring_unicode(lcmapstring_wrapper func_ptr, const char *f
@@ -163,7 +163,7 @@ index 94c9ce3ad1b..8447e67486c 100644
static void test_FoldStringA(void)
{
int ret, i, j;
@@ -7201,6 +7337,7 @@ START_TEST(locale)
@@ -7194,6 +7330,7 @@ START_TEST(locale)
test_NLSVersion();
test_geo_name();
test_sorting();
@@ -172,7 +172,7 @@ index 94c9ce3ad1b..8447e67486c 100644
test_EnumCalendarInfoW();
test_EnumCalendarInfoExA();
diff --git a/dlls/kernelbase/locale.c b/dlls/kernelbase/locale.c
index 667d1a4dc65..095e0a68558 100644
index 2f2154a0e7c..c16535a5f1a 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
@@ -585,7 +585,7 @@ index 667d1a4dc65..095e0a68558 100644
static const struct geoinfo *get_geoinfo_ptr( GEOID geoid )
{
@@ -5302,8 +5455,8 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
TRACE( "(%s,0x%08x,%s,%d,%p,%d)\n",
TRACE( "(%s,0x%08lx,%s,%d,%p,%d)\n",
debugstr_w(locale), flags, debugstr_wn(src, srclen), srclen, dst, dstlen );
- if ((ret = get_sortkey( flags, src, srclen, (char *)dst, dstlen ))) ret++;
@@ -596,5 +596,5 @@ index 667d1a4dc65..095e0a68558 100644
}
--
2.33.0
2.34.1

View File

@@ -1,4 +1,4 @@
From 1ef8d8455449563aaa1d3c9ce16444134f3a9ef4 Mon Sep 17 00:00:00 2001
From 74ed8758a238f1747055b4c8fa78edc2d5e7aba9 Mon Sep 17 00:00:00 2001
From: Fabian Maurer <dark.shadow4@web.de>
Date: Sat, 8 Aug 2020 17:32:56 +0200
Subject: [PATCH] kernelbase: Implement sortkey language support
@@ -10,10 +10,10 @@ Signed-off-by: Fabian Maurer <dark.shadow4@web.de>
2 files changed, 109 insertions(+), 40 deletions(-)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index e8adb32bbbd..e4a31c120f0 100644
index 0aaa87e38c1..84931318075 100644
--- a/dlls/kernel32/tests/locale.c
+++ b/dlls/kernel32/tests/locale.c
@@ -3335,6 +3335,56 @@ static const struct sorting_test_entry unicode_sorting_tests[] =
@@ -3210,6 +3210,56 @@ static const struct sorting_test_entry unicode_sorting_tests[] =
{ L"en-US", CSTR_LESS_THAN, CSTR_EQUAL, 0, L"\x0f75", L"\x0f71\x0f74" }, /* Expansion character always follow default character logic */
{ L"en-US", CSTR_LESS_THAN, CSTR_EQUAL, 0, L"\xfc5e", L"\x064c\x0651" }, /* Expansion character always follow default character logic */
{ L"en-US", CSTR_LESS_THAN, CSTR_EQUAL, 0, L"\xfb2b", L"\x05e9\x05c2" }, /* Expansion character always follow default character logic */
@@ -71,10 +71,10 @@ index e8adb32bbbd..e4a31c120f0 100644
static void test_unicode_sorting(void)
diff --git a/dlls/kernelbase/locale.c b/dlls/kernelbase/locale.c
index da358d74934..ef135e48c2f 100644
index e81ed0e0f2e..394912307a9 100644
--- a/dlls/kernelbase/locale.c
+++ b/dlls/kernelbase/locale.c
@@ -2494,9 +2494,27 @@ struct sortkey_data
@@ -2530,9 +2530,27 @@ struct sortkey_data
int buffer_len;
};
@@ -104,7 +104,7 @@ index da358d74934..ef135e48c2f 100644
info->weight_case = value >> 24;
info->weight_diacritic = (value >> 16) & 0xff;
info->script_member = (value >> 8) & 0xff;
@@ -2548,18 +2566,18 @@ static void sortkey_add_diacritic_weight(struct sortkey_data *data, BYTE value,
@@ -2584,18 +2602,18 @@ static void sortkey_add_diacritic_weight(struct sortkey_data *data, BYTE value,
*last_weighted_pos = data->buffer_pos;
}
@@ -127,7 +127,7 @@ index da358d74934..ef135e48c2f 100644
if (info.script_member != SORTKEY_UNSORTABLE)
{
sortkey_add_weight(data, info.script_member);
@@ -2569,11 +2587,11 @@ static void sortkey_handle_expansion_main(struct sortkey_data *data, int flags,
@@ -2605,11 +2623,11 @@ static void sortkey_handle_expansion_main(struct sortkey_data *data, int flags,
}
}
@@ -141,7 +141,7 @@ index da358d74934..ef135e48c2f 100644
switch (info.script_member)
{
@@ -2581,7 +2599,7 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR
@@ -2617,7 +2635,7 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR
break;
case SORTKEY_EXPANSION:
@@ -150,7 +150,7 @@ index da358d74934..ef135e48c2f 100644
break;
case SORTKEY_DIACRITIC:
@@ -2640,18 +2658,18 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR
@@ -2676,18 +2694,18 @@ static void sortkey_add_main_weights(struct sortkey_data *data, int flags, WCHAR
}
}
@@ -173,7 +173,7 @@ index da358d74934..ef135e48c2f 100644
if (info.script_member != SORTKEY_UNSORTABLE)
{
if (!sortkey_is_PUA(info.script_member))
@@ -2659,12 +2677,12 @@ static void sortkey_handle_expansion_diacritic(struct sortkey_data *data, int fl
@@ -2695,12 +2713,12 @@ static void sortkey_handle_expansion_diacritic(struct sortkey_data *data, int fl
}
}
@@ -188,7 +188,7 @@ index da358d74934..ef135e48c2f 100644
switch (info.script_member)
{
@@ -2672,7 +2690,7 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags,
@@ -2708,7 +2726,7 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags,
break;
case SORTKEY_EXPANSION:
@@ -197,7 +197,7 @@ index da358d74934..ef135e48c2f 100644
break;
case SORTKEY_DIACRITIC:
@@ -2728,29 +2746,29 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags,
@@ -2764,29 +2782,29 @@ static void sortkey_add_diacritic_weights(struct sortkey_data *data, int flags,
}
}
@@ -233,7 +233,7 @@ index da358d74934..ef135e48c2f 100644
switch (info.script_member)
{
@@ -2758,7 +2776,7 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR
@@ -2794,7 +2812,7 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR
break;
case SORTKEY_EXPANSION:
@@ -242,7 +242,7 @@ index da358d74934..ef135e48c2f 100644
break;
case SORTKEY_DIACRITIC:
@@ -2800,12 +2818,12 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR
@@ -2836,12 +2854,12 @@ static void sortkey_add_case_weights(struct sortkey_data *data, int flags, WCHAR
}
}
@@ -257,7 +257,7 @@ index da358d74934..ef135e48c2f 100644
if (info.script_member == SORTKEY_PUNCTUATION)
{
@@ -2818,11 +2836,11 @@ static void sortkey_add_special_weights(struct sortkey_data *data, int flags, WC
@@ -2854,11 +2872,11 @@ static void sortkey_add_special_weights(struct sortkey_data *data, int flags, WC
}
}
@@ -271,7 +271,7 @@ index da358d74934..ef135e48c2f 100644
if (info.script_member == SORTKEY_JAPANESE)
{
@@ -2840,11 +2858,11 @@ static void sortkey_add_extra_weights_small(struct sortkey_data *data, int flags
@@ -2876,11 +2894,11 @@ static void sortkey_add_extra_weights_small(struct sortkey_data *data, int flags
}
}
@@ -285,7 +285,7 @@ index da358d74934..ef135e48c2f 100644
if (info.script_member == SORTKEY_JAPANESE)
{
@@ -2861,11 +2879,11 @@ static void sortkey_add_extra_weights_kana(struct sortkey_data *data, int flags,
@@ -2897,11 +2915,11 @@ static void sortkey_add_extra_weights_kana(struct sortkey_data *data, int flags,
}
}
@@ -299,7 +299,7 @@ index da358d74934..ef135e48c2f 100644
if (info.script_member == SORTKEY_JAPANESE)
{
@@ -2882,13 +2900,14 @@ static void sortkey_add_extra_weights_width(struct sortkey_data *data, int flags
@@ -2918,13 +2936,14 @@ static void sortkey_add_extra_weights_width(struct sortkey_data *data, int flags
}
}
@@ -315,7 +315,7 @@ index da358d74934..ef135e48c2f 100644
data.buffer = buffer;
data.buffer_pos = 0;
@@ -2899,7 +2918,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in
@@ -2935,7 +2954,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in
/* Main weights */
for (i = 0; i < str_len; i++)
@@ -324,7 +324,7 @@ index da358d74934..ef135e48c2f 100644
sortkey_add_weight(&data, SORTKEY_SEPARATOR);
/* Diacritic weights */
@@ -2908,7 +2927,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in
@@ -2944,7 +2963,7 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in
int diacritic_start_pos = data.buffer_pos;
int last_weighted_pos = data.buffer_pos;
for (i = 0; i < str_len; i++)
@@ -333,7 +333,7 @@ index da358d74934..ef135e48c2f 100644
/* Remove all weights <= SORTKEY_MIN_WEIGHT from the end */
data.buffer_pos = last_weighted_pos;
}
@@ -2916,24 +2935,24 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in
@@ -2952,24 +2971,24 @@ static int sortkey_generate(int flags, const WCHAR *locale, const WCHAR *str, in
/* Case weights */
for (i = 0; i < str_len; i++)
@@ -363,8 +363,8 @@ index da358d74934..ef135e48c2f 100644
sortkey_add_weight(&data, SORTKEY_TERMINATOR);
if (data.buffer_pos <= buffer_len || !buffer)
@@ -5622,7 +5641,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
TRACE( "(%s,0x%08x,%s,%d,%p,%d)\n",
@@ -5667,7 +5686,7 @@ INT WINAPI DECLSPEC_HOTPATCH LCMapStringEx( const WCHAR *locale, DWORD flags, co
TRACE( "(%s,0x%08lx,%s,%d,%p,%d)\n",
debugstr_w(locale), flags, debugstr_wn(src, srclen), srclen, dst, dstlen );
- if (!(ret = sortkey_generate(flags, L"", src, srclen, (BYTE *)dst, dstlen )))
@@ -373,5 +373,5 @@ index da358d74934..ef135e48c2f 100644
return ret;
}
--
2.29.2
2.34.1

View File

@@ -1,19 +1,19 @@
From e741e408304cd80852ec392fe491f1cde403e283 Mon Sep 17 00:00:00 2001
From dbe39014190d350ed1379569edce909fa29d69d9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 26 Feb 2016 04:04:12 +0100
Subject: mmsystem.dll16: Translate MidiIn messages.
Subject: [PATCH] mmsystem.dll16: Translate MidiIn messages.
---
dlls/mmsystem.dll16/message16.c | 128 +++++++++++++++++++++++++++++++++++++++-
dlls/mmsystem.dll16/message16.c | 128 +++++++++++++++++++++++++++++++-
1 file changed, 126 insertions(+), 2 deletions(-)
diff --git a/dlls/mmsystem.dll16/message16.c b/dlls/mmsystem.dll16/message16.c
index 26e47b2..05a1995 100644
index c6a10f57188..08dbce26d88 100644
--- a/dlls/mmsystem.dll16/message16.c
+++ b/dlls/mmsystem.dll16/message16.c
@@ -95,7 +95,78 @@ static void MMSYSTDRV_Mixer_MapCB(DWORD uMsg, DWORD_PTR* dwUser
*/
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (UINT wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2)
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (DWORD wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2)
{
- return MMSYSTEM_MAP_MSGERROR;
+ MMSYSTEM_MapType ret = MMSYSTEM_MAP_MSGERROR;
@@ -91,9 +91,9 @@ index 26e47b2..05a1995 100644
}
/**************************************************************************
@@ -103,7 +174,60 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (UINT wMsg, DWORD_PTR* lpP
@@ -103,7 +174,60 @@ static MMSYSTEM_MapType MMSYSTDRV_MidiIn_Map16To32W (DWORD wMsg, DWORD_PTR* lp
*/
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_UnMap16To32W(UINT wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2, MMRESULT fn_ret)
static MMSYSTEM_MapType MMSYSTDRV_MidiIn_UnMap16To32W(DWORD wMsg, DWORD_PTR* lpParam1, DWORD_PTR* lpParam2, MMRESULT fn_ret)
{
- return MMSYSTEM_MAP_MSGERROR;
+ MMSYSTEM_MapType ret = MMSYSTEM_MAP_MSGERROR;
@@ -154,5 +154,5 @@ index 26e47b2..05a1995 100644
/**************************************************************************
--
2.7.1
2.34.1

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