diff --git a/patches/Compiler_Warnings/0033-ntdll-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0033-ntdll-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..9efd33fd --- /dev/null +++ b/patches/Compiler_Warnings/0033-ntdll-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,34 @@ +From d94124650cd292dfdc364c43f117d35eecce39bf Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 09:10:37 +1000 +Subject: [PATCH] ntdll: Avoid implicit cast of interface pointer. + +--- + dlls/ntdll/unix/virtual.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c +index b7531c1bdb7..97c5b741776 100644 +--- a/dlls/ntdll/unix/virtual.c ++++ b/dlls/ntdll/unix/virtual.c +@@ -3162,7 +3162,7 @@ NTSTATUS virtual_clear_tls_index( ULONG index ) + server_enter_uninterrupted_section( &virtual_mutex, &sigset ); + LIST_FOR_EACH_ENTRY( thread_data, &teb_list, struct ntdll_thread_data, entry ) + { +- TEB *teb = CONTAINING_RECORD( thread_data, TEB, GdiTebBatch ); ++ TEB *teb = CONTAINING_RECORD( (GDI_TEB_BATCH *)thread_data, TEB, GdiTebBatch ); + teb->TlsSlots[index] = 0; + } + server_leave_uninterrupted_section( &virtual_mutex, &sigset ); +@@ -3176,7 +3176,7 @@ NTSTATUS virtual_clear_tls_index( ULONG index ) + server_enter_uninterrupted_section( &virtual_mutex, &sigset ); + LIST_FOR_EACH_ENTRY( thread_data, &teb_list, struct ntdll_thread_data, entry ) + { +- TEB *teb = CONTAINING_RECORD( thread_data, TEB, GdiTebBatch ); ++ TEB *teb = CONTAINING_RECORD( (GDI_TEB_BATCH *)thread_data, TEB, GdiTebBatch ); + if (teb->TlsExpansionSlots) teb->TlsExpansionSlots[index] = 0; + } + server_leave_uninterrupted_section( &virtual_mutex, &sigset ); +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0034-bcrypt-Stop-compile-error-when-HAVE_GNUTLS_CIPHER_IN.patch b/patches/Compiler_Warnings/0034-bcrypt-Stop-compile-error-when-HAVE_GNUTLS_CIPHER_IN.patch new file mode 100644 index 00000000..adaae846 --- /dev/null +++ b/patches/Compiler_Warnings/0034-bcrypt-Stop-compile-error-when-HAVE_GNUTLS_CIPHER_IN.patch @@ -0,0 +1,40 @@ +From 7784b62bd2b64aabd6bfef9ef39ac4f3e8c55c77 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 08:56:40 +1000 +Subject: [PATCH] bcrypt: Stop compile error when HAVE_GNUTLS_CIPHER_INIT not + defined +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In file included from dlls/bcrypt/gnutls.c:1916: +include/windef.h:112:24: error: unknown type name ‘va_list’ + 112 | # define __ms_va_list va_list + | ^~~~~~~ +include/winbase.h:2076:84: note: in expansion of macro ‘__ms_va_list’ + 2076 | WINBASEAPI DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,DWORD,__ms_va_list*); + +Signed-off-by: Alistair Leslie-Hughes +--- + dlls/bcrypt/gnutls.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c +index 37a80bdc062..64825f5b99b 100644 +--- a/dlls/bcrypt/gnutls.c ++++ b/dlls/bcrypt/gnutls.c +@@ -25,9 +25,10 @@ + #include "config.h" + #include "wine/port.h" + ++#include ++ + #ifdef HAVE_GNUTLS_CIPHER_INIT + +-#include + #include + #include + #include +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0035-d3d10-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0035-d3d10-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..0ba1b883 --- /dev/null +++ b/patches/Compiler_Warnings/0035-d3d10-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,61 @@ +From 990050ed436283fb820d4fe64b08dda3ac7ea9e2 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 09:34:28 +1000 +Subject: [PATCH 2/2] d3d10: Avoid implicit cast of interface pointer. + +--- + dlls/d3d10/effect.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/dlls/d3d10/effect.c b/dlls/d3d10/effect.c +index 86ef50aac01..060fb69ce3e 100644 +--- a/dlls/d3d10/effect.c ++++ b/dlls/d3d10/effect.c +@@ -126,7 +126,7 @@ static inline struct d3d10_effect_variable *impl_from_ID3D10EffectVariable(ID3D1 + + static inline struct d3d10_effect_variable *impl_from_ID3D10EffectShaderVariable(ID3D10EffectShaderVariable *iface) + { +- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); ++ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); + } + + struct d3d10_effect_state_property_info +@@ -4665,7 +4665,7 @@ static void read_variable_array_from_buffer(struct d3d10_effect_variable *variab + + static inline struct d3d10_effect_variable *impl_from_ID3D10EffectScalarVariable(ID3D10EffectScalarVariable *iface) + { +- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); ++ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); + } + + static BOOL STDMETHODCALLTYPE d3d10_effect_scalar_variable_IsValid(ID3D10EffectScalarVariable *iface) +@@ -5001,7 +5001,7 @@ static const struct ID3D10EffectScalarVariableVtbl d3d10_effect_scalar_variable_ + + static inline struct d3d10_effect_variable *impl_from_ID3D10EffectVectorVariable(ID3D10EffectVectorVariable *iface) + { +- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); ++ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); + } + + static BOOL STDMETHODCALLTYPE d3d10_effect_vector_variable_IsValid(ID3D10EffectVectorVariable *iface) +@@ -5488,7 +5488,7 @@ static void read_matrix_variable_array_from_buffer(struct d3d10_effect_variable + + static inline struct d3d10_effect_variable *impl_from_ID3D10EffectMatrixVariable(ID3D10EffectMatrixVariable *iface) + { +- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); ++ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); + } + + static BOOL STDMETHODCALLTYPE d3d10_effect_matrix_variable_IsValid(ID3D10EffectMatrixVariable *iface) +@@ -5995,7 +5995,7 @@ static void set_shader_resource_variable(ID3D10ShaderResourceView **src, ID3D10S + static inline struct d3d10_effect_variable *impl_from_ID3D10EffectShaderResourceVariable( + ID3D10EffectShaderResourceVariable *iface) + { +- return CONTAINING_RECORD(iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); ++ return CONTAINING_RECORD((ID3D10EffectVariable*)iface, struct d3d10_effect_variable, ID3D10EffectVariable_iface); + } + + static BOOL STDMETHODCALLTYPE d3d10_effect_shader_resource_variable_IsValid(ID3D10EffectShaderResourceVariable *iface) +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0036-d2d1-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0036-d2d1-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..f73fe33a --- /dev/null +++ b/patches/Compiler_Warnings/0036-d2d1-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,34 @@ +From dd8e8e98edf2f16a4fd4109cd283cf7949a3cb9b Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 09:39:56 +1000 +Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer. + +--- + dlls/d2d1/geometry.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c +index eb353669030..3e00edfd1b3 100644 +--- a/dlls/d2d1/geometry.c ++++ b/dlls/d2d1/geometry.c +@@ -3615,7 +3615,7 @@ void d2d_path_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *factory + + static inline struct d2d_geometry *impl_from_ID2D1EllipseGeometry(ID2D1EllipseGeometry *iface) + { +- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface); ++ return CONTAINING_RECORD((ID2D1Geometry*)iface, struct d2d_geometry, ID2D1Geometry_iface); + } + + static HRESULT STDMETHODCALLTYPE d2d_ellipse_geometry_QueryInterface(ID2D1EllipseGeometry *iface, +@@ -4237,7 +4237,7 @@ fail: + + static inline struct d2d_geometry *impl_from_ID2D1RoundedRectangleGeometry(ID2D1RoundedRectangleGeometry *iface) + { +- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface); ++ return CONTAINING_RECORD((ID2D1Geometry*)iface, struct d2d_geometry, ID2D1Geometry_iface); + } + + static HRESULT STDMETHODCALLTYPE d2d_rounded_rectangle_geometry_QueryInterface(ID2D1RoundedRectangleGeometry *iface, +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0037-dxgi-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0037-dxgi-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..89c0c629 --- /dev/null +++ b/patches/Compiler_Warnings/0037-dxgi-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,25 @@ +From f8ce184f72c416a1ce249afe313b698013e961b3 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 09:46:25 +1000 +Subject: [PATCH] dxgi: Avoid implicit cast of interface pointer. + +--- + dlls/dxgi/output.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/dxgi/output.c b/dlls/dxgi/output.c +index f341388766c..64f87202741 100644 +--- a/dlls/dxgi/output.c ++++ b/dlls/dxgi/output.c +@@ -711,7 +711,7 @@ struct dxgi_output *unsafe_impl_from_IDXGIOutput(IDXGIOutput *iface) + if (!iface) + return NULL; + assert(iface->lpVtbl == (IDXGIOutputVtbl *)&dxgi_output_vtbl); +- return CONTAINING_RECORD(iface, struct dxgi_output, IDXGIOutput6_iface); ++ return CONTAINING_RECORD((IDXGIOutput6*)iface, struct dxgi_output, IDXGIOutput6_iface); + } + + static void dxgi_output_init(struct dxgi_output *output, unsigned int output_idx, +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0038-msctf-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0038-msctf-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..ba4550b4 --- /dev/null +++ b/patches/Compiler_Warnings/0038-msctf-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,25 @@ +From 272753daf4f20b7fe3c646eae4fd78f1b254c9a6 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 09:57:01 +1000 +Subject: [PATCH] msctf: Avoid implicit cast of interface pointer. + +--- + dlls/msctf/range.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dlls/msctf/range.c b/dlls/msctf/range.c +index 9690a0a15c4..e15123eeb89 100644 +--- a/dlls/msctf/range.c ++++ b/dlls/msctf/range.c +@@ -54,7 +54,7 @@ static inline Range *impl_from_ITfRangeACP(ITfRangeACP *iface) + + static Range *unsafe_impl_from_ITfRange(ITfRange *iface) + { +- return CONTAINING_RECORD(iface, Range, ITfRangeACP_iface); ++ return CONTAINING_RECORD((ITfRangeACP*)iface, Range, ITfRangeACP_iface); + } + + static void Range_Destructor(Range *This) +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..4df3eb59 --- /dev/null +++ b/patches/Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,39 @@ +From f34ee38467781b2f7bae7e7f8a04a4210bf7d046 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 11:22:48 +1000 +Subject: [PATCH] rpcrt4: Avoid implicit cast of interface pointer. + +--- + dlls/rpcrt4/ndr_marshall.c | 2 +- + dlls/rpcrt4/ndr_typelib.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/rpcrt4/ndr_marshall.c b/dlls/rpcrt4/ndr_marshall.c +index 764b304a047..58ea128e8a4 100644 +--- a/dlls/rpcrt4/ndr_marshall.c ++++ b/dlls/rpcrt4/ndr_marshall.c +@@ -6999,7 +6999,7 @@ static unsigned char *WINAPI NdrContextHandleMarshall( + } + else + { +- NDR_SCONTEXT ctxt = CONTAINING_RECORD(pMemory, struct _NDR_SCONTEXT, userContext); ++ NDR_SCONTEXT ctxt = CONTAINING_RECORD((void * const*)pMemory, struct _NDR_SCONTEXT, userContext); + NDR_RUNDOWN rundown = pStubMsg->StubDesc->apfnNdrRundownRoutines[pFormat[2]]; + NdrServerContextNewMarshall(pStubMsg, ctxt, rundown, pFormat); + } +diff --git a/dlls/rpcrt4/ndr_typelib.c b/dlls/rpcrt4/ndr_typelib.c +index f1f25885b75..126e8ec8766 100644 +--- a/dlls/rpcrt4/ndr_typelib.c ++++ b/dlls/rpcrt4/ndr_typelib.c +@@ -1452,7 +1452,7 @@ struct typelib_stub + + static ULONG WINAPI typelib_stub_Release(IRpcStubBuffer *iface) + { +- struct typelib_stub *stub = CONTAINING_RECORD(iface, struct typelib_stub, stub.stub_buffer); ++ struct typelib_stub *stub = CONTAINING_RECORD((CStdStubBuffer *)iface, struct typelib_stub, stub.stub_buffer); + ULONG refcount = InterlockedDecrement(&stub->stub.stub_buffer.RefCount); + + TRACE("(%p) decreasing refs to %d\n", stub, refcount); +-- +2.30.2 + diff --git a/patches/Compiler_Warnings/0040-wbemdisp-Avoid-implicit-cast-of-interface-pointer.patch b/patches/Compiler_Warnings/0040-wbemdisp-Avoid-implicit-cast-of-interface-pointer.patch new file mode 100644 index 00000000..3a47f238 --- /dev/null +++ b/patches/Compiler_Warnings/0040-wbemdisp-Avoid-implicit-cast-of-interface-pointer.patch @@ -0,0 +1,34 @@ +From 4801b547b70654507cb8a25dcfd1efc862dcf467 Mon Sep 17 00:00:00 2001 +From: Alistair Leslie-Hughes +Date: Tue, 8 Jun 2021 11:38:46 +1000 +Subject: [PATCH] wbemdisp: Avoid implicit cast of interface pointer. + +--- + dlls/wbemdisp/locator.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c +index e0a1872d38f..5bb2a187f2c 100644 +--- a/dlls/wbemdisp/locator.c ++++ b/dlls/wbemdisp/locator.c +@@ -1751,7 +1751,7 @@ static struct object *unsafe_object_impl_from_IDispatch(IDispatch *iface) + FIXME( "External implementations are not supported.\n" ); + return NULL; + } +- return CONTAINING_RECORD(iface, struct object, ISWbemObject_iface); ++ return CONTAINING_RECORD((ISWbemObject *)iface, struct object, ISWbemObject_iface); + } + + static HRESULT SWbemObject_create( struct services *services, IWbemClassObject *wbem_object, +@@ -3587,7 +3587,7 @@ static struct namedvalueset *unsafe_valueset_impl_from_IDispatch(IDispatch *ifac + FIXME( "External implementations are not supported.\n" ); + return NULL; + } +- return CONTAINING_RECORD(iface, struct namedvalueset, ISWbemNamedValueSet_iface); ++ return CONTAINING_RECORD((ISWbemNamedValueSet*)iface, struct namedvalueset, ISWbemNamedValueSet_iface); + } + + HRESULT SWbemNamedValueSet_create( void **obj ) +-- +2.30.2 + diff --git a/patches/bcrypt-ECDHSecretAgreement/0001-bcrypt-Allow-multiple-backends-to-coexist.patch b/patches/bcrypt-ECDHSecretAgreement/0001-bcrypt-Allow-multiple-backends-to-coexist.patch index 70184f19..74be0306 100644 --- a/patches/bcrypt-ECDHSecretAgreement/0001-bcrypt-Allow-multiple-backends-to-coexist.patch +++ b/patches/bcrypt-ECDHSecretAgreement/0001-bcrypt-Allow-multiple-backends-to-coexist.patch @@ -1,4 +1,4 @@ -From 6d925cb20409888ada3e469a2a09b1bfc726fa79 Mon Sep 17 00:00:00 2001 +From 89c22c9894fd170b0b3a99309540c88059c64824 Mon Sep 17 00:00:00 2001 From: Derek Lesho Date: Fri, 2 Oct 2020 11:29:24 -0500 Subject: [PATCH] bcrypt: Allow multiple backends to coexist. @@ -7,10 +7,10 @@ Signed-off-by: Derek Lesho --- dlls/bcrypt/Makefile.in | 3 +- dlls/bcrypt/bcrypt_internal.h | 3 + - dlls/bcrypt/gnutls.c | 32 ++++-- + dlls/bcrypt/gnutls.c | 34 ++++-- dlls/bcrypt/macos.c | 18 ++- dlls/bcrypt/unixlib.c | 211 ++++++++++++++++++++++++++++++++++ - 5 files changed, 252 insertions(+), 15 deletions(-) + 5 files changed, 253 insertions(+), 16 deletions(-) create mode 100644 dlls/bcrypt/unixlib.c diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in @@ -27,10 +27,10 @@ index 24803fb2d7c..46a20d473dd 100644 RC_SRCS = version.rc diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h -index eb136111509..3c7110d05f8 100644 +index 61c367cae9d..d0697ed807e 100644 --- a/dlls/bcrypt/bcrypt_internal.h +++ b/dlls/bcrypt/bcrypt_internal.h -@@ -218,4 +218,7 @@ struct key_funcs +@@ -219,4 +219,7 @@ struct key_funcs NTSTATUS (CDECL *key_import_rsa)( struct key *, UCHAR *, ULONG ); }; @@ -39,7 +39,7 @@ index eb136111509..3c7110d05f8 100644 + #endif /* __BCRYPT_INTERNAL_H */ diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c -index 2f0c62bc6da..4a9dcf9de8a 100644 +index 9c1e7b5ab06..9b716c6f536 100644 --- a/dlls/bcrypt/gnutls.c +++ b/dlls/bcrypt/gnutls.c @@ -372,9 +372,12 @@ fail: @@ -58,7 +58,16 @@ index 2f0c62bc6da..4a9dcf9de8a 100644 } struct buffer -@@ -1899,19 +1902,28 @@ static const struct key_funcs key_funcs = +@@ -1869,7 +1872,7 @@ static NTSTATUS CDECL key_asymmetric_decrypt( struct key *key, UCHAR *input, ULO + return status; + } + +-static const struct key_funcs key_funcs = ++static struct key_funcs key_funcs = + { + key_set_property, + key_symmetric_init, +@@ -1893,19 +1896,28 @@ static const struct key_funcs key_funcs = key_import_rsa }; @@ -95,7 +104,7 @@ index 2f0c62bc6da..4a9dcf9de8a 100644 +} +#endif diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c -index 44906519cef..2a88aec8362 100644 +index 20e1a61e3fb..1e364ac05a3 100644 --- a/dlls/bcrypt/macos.c +++ b/dlls/bcrypt/macos.c @@ -302,11 +302,21 @@ static const struct key_funcs key_funcs = @@ -126,7 +135,7 @@ index 44906519cef..2a88aec8362 100644 #endif diff --git a/dlls/bcrypt/unixlib.c b/dlls/bcrypt/unixlib.c new file mode 100644 -index 00000000000..9cbb25f5740 +index 00000000000..6c3aff80373 --- /dev/null +++ b/dlls/bcrypt/unixlib.c @@ -0,0 +1,211 @@ @@ -262,7 +271,7 @@ index 00000000000..9cbb25f5740 +} + +static NTSTATUS CDECL key_asymmetric_decrypt( struct key *key, UCHAR *input, ULONG input_len, -+ UCHAR *output, ULONG *output_len ) ++ UCHAR *output, ULONG *output_len, ULONG *ret_len ) +{ + FIXME( "not implemented\n" ); + return STATUS_NOT_IMPLEMENTED; diff --git a/patches/dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch b/patches/dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch index c3b05bc0..d2d3d4ac 100644 --- a/patches/dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch +++ b/patches/dwrite-FontFallback/0006-dwrite-Use-MapCharacters-for-dummy-line-metrics.patch @@ -36,7 +36,7 @@ index 5d06bf9348..2213717f92 100644 + if (layout->format.fallback) { + fallback = layout->format.fallback; + IDWriteFontFallback_AddRef(fallback); -+ } else if (FAILED(hr = IDWriteFactory5_GetSystemFontFallback(layout->factory, &fallback))) { ++ } else if (FAILED(hr = IDWriteFactory7_GetSystemFontFallback(layout->factory, &fallback))) { + WARN("Failed to get system fallback, hr %#x.\n", hr); + return hr; + } diff --git a/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch b/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch index 1a1e2aa1..93c43913 100644 --- a/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch +++ b/patches/inseng-Implementation/0001-inseng-Implement-CIF-reader-and-download-functions.patch @@ -1688,7 +1688,7 @@ index 00000000000..6fd35625006 + +static HRESULT process_section(struct ciffile *file, struct inf_section *section, const char *section_name) +{ -+ HRESULT hr; ++ HRESULT hr = S_OK; + char *type; + + if (!section_get_str(section, "SectionType", &type, "Component")) diff --git a/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch b/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch index 13d7b775..825140de 100644 --- a/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch +++ b/patches/kernel32-Debugger/0001-kernel32-Always-start-debugger-on-WinSta0.patch @@ -15,7 +15,7 @@ index 016c21109..0681f726b 100644 TRACE( "Starting debugger %s\n", debugstr_w(cmdline) ); memset( &startup, 0, sizeof(startup) ); startup.cb = sizeof(startup); -+ startup.lpDesktop = L"WinSta0"; ++ startup.lpDesktop = (WCHAR*)L"WinSta0"; startup.dwFlags = STARTF_USESHOWWINDOW; startup.wShowWindow = SW_SHOWNORMAL; ret = CreateProcessW( NULL, cmdline, NULL, NULL, TRUE, 0, env, NULL, &startup, &info ); diff --git a/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch b/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch index 15508d88..465820b3 100644 --- a/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch +++ b/patches/ntdll-HashLinks/0001-ntdll-Implement-HashLinks-field-in-LDR-module-data.patch @@ -1,13 +1,13 @@ -From 78e8d51910a41db9a31ec350228989a0c65cf899 Mon Sep 17 00:00:00 2001 +From 2849190768a826d888577c820c52a593b660b64e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Mon, 3 Apr 2017 05:30:27 +0200 Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data. --- dlls/kernel32/tests/loader.c | 75 ++++++++++++++++++++++++++++++++++++ - dlls/ntdll/loader.c | 60 +++++++++++++++++++++++++++++ + dlls/ntdll/loader.c | 41 ++++++++++++++++++++ include/winternl.h | 2 +- - 3 files changed, 136 insertions(+), 1 deletion(-) + 3 files changed, 117 insertions(+), 1 deletion(-) diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c index 1db68a191a3..bec46088518 100644 @@ -110,10 +110,10 @@ index 1db68a191a3..bec46088518 100644 test_dll_file( "kernel32.dll" ); test_dll_file( "advapi32.dll" ); diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c -index 7a714a5aa6d..996a749ebaa 100644 +index f3a37d4e8a6..eb0f3f8741c 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c -@@ -113,6 +113,9 @@ struct file_id +@@ -124,6 +124,9 @@ struct file_id BYTE ObjectId[16]; }; @@ -123,7 +123,7 @@ index 7a714a5aa6d..996a749ebaa 100644 /* internal representation of loaded modules */ typedef struct _wine_modref { -@@ -458,6 +461,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module ) +@@ -469,6 +472,33 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module ) } } @@ -153,30 +153,11 @@ index 7a714a5aa6d..996a749ebaa 100644 + + return hash & (HASH_MAP_SIZE-1); +} -+ -+/************************************************************************* -+ * recompute_hash_maps -+ * -+ * Recomputes the LDR hash map (necessary when windows version changes). -+ */ -+static void recompute_hash_map(void) -+{ -+ LIST_ENTRY *mark, *entry; -+ LDR_DATA_TABLE_ENTRY *mod; -+ -+ mark = &NtCurrentTeb()->Peb->LdrData->InLoadOrderModuleList; -+ for (entry = mark->Flink; entry != mark; entry = entry->Flink) -+ { -+ mod = CONTAINING_RECORD(entry, LDR_DATA_TABLE_ENTRY, InLoadOrderLinks); -+ RemoveEntryList( &mod->HashLinks ); -+ InsertTailList( &hash_table[hash_basename(mod->BaseDllName.Buffer)], &mod->HashLinks ); -+ } -+} + /************************************************************************* * get_modref * -@@ -1204,7 +1253,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name +@@ -1245,7 +1275,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name &wm->ldr.InLoadOrderLinks); InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList, &wm->ldr.InMemoryOrderLinks); @@ -189,7 +170,7 @@ index 7a714a5aa6d..996a749ebaa 100644 if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT)) { -@@ -1884,6 +1938,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name, +@@ -1925,6 +1960,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name, /* the module has only be inserted in the load & memory order lists */ RemoveEntryList(&wm->ldr.InLoadOrderLinks); RemoveEntryList(&wm->ldr.InMemoryOrderLinks); @@ -197,7 +178,7 @@ index 7a714a5aa6d..996a749ebaa 100644 /* FIXME: there are several more dangling references * left. Including dlls loaded by this dll before the -@@ -3314,6 +3369,7 @@ static void free_modref( WINE_MODREF *wm ) +@@ -3427,6 +3463,7 @@ static void free_modref( WINE_MODREF *wm ) { RemoveEntryList(&wm->ldr.InLoadOrderLinks); RemoveEntryList(&wm->ldr.InMemoryOrderLinks); @@ -205,7 +186,7 @@ index 7a714a5aa6d..996a749ebaa 100644 if (wm->ldr.InInitializationOrderLinks.Flink) RemoveEntryList(&wm->ldr.InInitializationOrderLinks); -@@ -3641,6 +3697,10 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR +@@ -3751,6 +3788,10 @@ void WINAPI LdrInitializeThunk( CONTEXT *context, ULONG_PTR unknown2, ULONG_PTR sizeof(peb->TlsExpansionBitmapBits) * 8 ); RtlSetBits( peb->TlsBitmap, 0, 1 ); /* TLS index 0 is reserved and should be initialized to NULL. */ @@ -217,10 +198,10 @@ index 7a714a5aa6d..996a749ebaa 100644 load_global_options(); version_init(); diff --git a/include/winternl.h b/include/winternl.h -index 298ebbc2d36..64aac3f955d 100644 +index 7221c0632b0..b8227b4583f 100644 --- a/include/winternl.h +++ b/include/winternl.h -@@ -3183,8 +3183,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY +@@ -3310,8 +3310,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY ULONG Flags; SHORT LoadCount; SHORT TlsIndex; diff --git a/patches/nvapi-Stub_DLL/0021-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch b/patches/nvapi-Stub_DLL/0021-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch index 373c697a..aea164a4 100644 --- a/patches/nvapi-Stub_DLL/0021-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch +++ b/patches/nvapi-Stub_DLL/0021-nvapi-Implement-NvAPI_D3D11_SetDepthBoundsTest.patch @@ -1,4 +1,4 @@ -From 69f7584b4837300691016624b356adae2fdd130b Mon Sep 17 00:00:00 2001 +From 87d4d702d42242a9387e31a4da079066eda0471e Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sat, 22 May 2021 18:11:07 -0500 Subject: [PATCH] nvapi: Implement NvAPI_D3D11_SetDepthBoundsTest(). @@ -12,17 +12,19 @@ Subject: [PATCH] nvapi: Implement NvAPI_D3D11_SetDepthBoundsTest(). 5 files changed, 50 insertions(+), 1 deletion(-) diff --git a/dlls/nvapi/nvapi.c b/dlls/nvapi/nvapi.c -index 8e1a9a40cce..b63685cad54 100644 +index 8e1a9a40cce..85fa47bee36 100644 --- a/dlls/nvapi/nvapi.c +++ b/dlls/nvapi/nvapi.c -@@ -27,6 +27,8 @@ +@@ -27,8 +27,10 @@ #include "wine/list.h" #include "nvapi.h" #include "d3d9.h" +#include "initguid.h" -+#include "wine/winedxgi.h" #include "wine/wined3d.h" ++#include "wine/winedxgi.h" + + WINE_DEFAULT_DEBUG_CHANNEL(nvapi); @@ -680,6 +682,32 @@ static NvAPI_Status CDECL NvAPI_GPU_GetGpuCoreCount(NvPhysicalGpuHandle hPhysica return NVAPI_OK; @@ -115,7 +117,7 @@ index c8b66ac2fa3..b8b4750203a 100644 /* d3d9 tests */ wc.lpfnWndProc = DefWindowProcA; diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c -index b6550a1a4e4..2c5e67f89d7 100644 +index 3884c1d6c66..17969ea9a08 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -1923,7 +1923,7 @@ void CDECL wined3d_device_context_set_rasterizer_state(struct wined3d_device_con @@ -128,10 +130,10 @@ index b6550a1a4e4..2c5e67f89d7 100644 { TRACE("context %p, enable %d, min %.8e, max %.8e.\n", context, enable, min, max); diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec -index 7b0737386b7..aebfe8ff34c 100644 +index 11351b60a7f..1751c97ae87 100644 --- a/dlls/wined3d/wined3d.spec +++ b/dlls/wined3d/wined3d.spec -@@ -123,6 +123,7 @@ +@@ -124,6 +124,7 @@ @ cdecl wined3d_device_context_resolve_sub_resource(ptr ptr long ptr long long) @ cdecl wined3d_device_context_set_blend_state(ptr ptr ptr long) @ cdecl wined3d_device_context_set_constant_buffer(ptr long long ptr) @@ -140,10 +142,10 @@ index 7b0737386b7..aebfe8ff34c 100644 @ cdecl wined3d_device_context_set_depth_stencil_view(ptr ptr) @ cdecl wined3d_device_context_set_index_buffer(ptr ptr long long) diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h -index f94855cf2a1..71618937858 100644 +index 53ae13b7df5..52f4b0aed24 100644 --- a/include/wine/wined3d.h +++ b/include/wine/wined3d.h -@@ -2496,6 +2496,8 @@ void __cdecl wined3d_device_context_set_blend_state(struct wined3d_device_contex +@@ -2498,6 +2498,8 @@ void __cdecl wined3d_device_context_set_blend_state(struct wined3d_device_contex struct wined3d_blend_state *state, const struct wined3d_color *blend_factor, unsigned int sample_mask); void __cdecl wined3d_device_context_set_constant_buffer(struct wined3d_device_context *context, enum wined3d_shader_type type, unsigned int idx, struct wined3d_buffer *buffer); diff --git a/patches/nvapi-Stub_DLL/0022-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch b/patches/nvapi-Stub_DLL/0022-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch index 2377d758..aeb1d88a 100644 --- a/patches/nvapi-Stub_DLL/0022-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch +++ b/patches/nvapi-Stub_DLL/0022-nvapi-Implement-NvAPI_D3D11_CreateDevice-and-NvAPI_D.patch @@ -1,4 +1,4 @@ -From 9d566d8cbb3a6eaa3a65b5ce43052b78c2e941fd Mon Sep 17 00:00:00 2001 +From 5513b374865605f112006b73d503b8709297cef4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 14 Jul 2017 09:37:11 +0200 Subject: [PATCH] nvapi: Implement NvAPI_D3D11_CreateDevice and @@ -24,7 +24,7 @@ index 73f28fd0687..efe5c60b1f8 100644 EXTRADLLFLAGS = -mno-cygwin diff --git a/dlls/nvapi/nvapi.c b/dlls/nvapi/nvapi.c -index b63685cad54..a0f54cda937 100644 +index 85fa47bee36..8a8697b3f16 100644 --- a/dlls/nvapi/nvapi.c +++ b/dlls/nvapi/nvapi.c @@ -27,6 +27,7 @@ @@ -33,8 +33,8 @@ index b63685cad54..a0f54cda937 100644 #include "d3d9.h" +#include "d3d11.h" #include "initguid.h" - #include "wine/winedxgi.h" + #include "wine/wined3d.h" @@ -708,6 +709,58 @@ static NvAPI_Status CDECL NvAPI_D3D11_SetDepthBoundsTest(IUnknown *unk, NvU32 en return NVAPI_OK; } diff --git a/patches/oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch b/patches/oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch index e6dd4615..b0a5dd88 100644 --- a/patches/oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch +++ b/patches/oleaut32-OleLoadPictureFile/0002-oleaut32-Factor-out-stream-creation-from-OleLoadPict.patch @@ -1,17 +1,17 @@ -From eb6e03432154b75d068cd42dfc8c8e1ba6318fa4 Mon Sep 17 00:00:00 2001 +From b6a510e5397091c59d9fb3a29bf75bc709727cb1 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Sun, 27 Mar 2016 16:26:47 +0800 Subject: [PATCH] oleaut32: Factor out stream creation from OleLoadPicturePath. --- - dlls/oleaut32/olepicture.c | 71 ++++++++++++++++++++++---------------- - 1 file changed, 41 insertions(+), 30 deletions(-) + dlls/oleaut32/olepicture.c | 76 ++++++++++++++++++++------------------ + 1 file changed, 41 insertions(+), 35 deletions(-) diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c -index 373ccd61724..ab242b7d798 100644 +index 3758b785341..ef564e98164 100644 --- a/dlls/oleaut32/olepicture.c +++ b/dlls/oleaut32/olepicture.c -@@ -2424,6 +2424,45 @@ HRESULT WINAPI OleLoadPictureFile(VARIANT file, LPDISPATCH *picture) +@@ -2336,6 +2336,45 @@ HRESULT WINAPI OleLoadPictureFile(VARIANT file, LPDISPATCH *picture) return E_NOTIMPL; } @@ -57,15 +57,21 @@ index 373ccd61724..ab242b7d798 100644 /*********************************************************************** * OleSavePictureFile (OLEAUT32.423) */ -@@ -2446,7 +2485,6 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller, - HGLOBAL hGlobal = NULL; - DWORD dwBytesRead; +@@ -2352,13 +2391,7 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller, + DWORD dwReserved, OLE_COLOR clrReserved, REFIID riid, + LPVOID *ppvRet ) + { +- IPicture *ipicture; +- HANDLE hFile; +- DWORD dwFileSize; +- HGLOBAL hGlobal = NULL; +- DWORD dwBytesRead; IStream *stream; - BOOL bRead; HRESULT hRes; WCHAR *file_candidate; WCHAR path_buf[MAX_PATH]; -@@ -2475,36 +2513,9 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller, +@@ -2387,36 +2420,9 @@ HRESULT WINAPI OleLoadPicturePath( LPOLESTR szURLorPath, LPUNKNOWN punkCaller, /* Handle candidate DOS paths separately. */ if (file_candidate[1] == ':') { @@ -105,5 +111,5 @@ index 373ccd61724..ab242b7d798 100644 IMoniker *pmnk; IBindCtx *pbc; -- -2.29.2 +2.30.2 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c4c59ea2..aff77dab 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "649385e7d47091fa25b9114668075b06d2942e2f" + echo "aadcff491fc9d823a90cee567c8e1d55cd9a589b" } # Show version information @@ -1455,11 +1455,12 @@ fi # Patchset Compiler_Warnings # | # | Modified files: -# | * dlls/d2d1/bitmap.c, dlls/d2d1/brush.c, dlls/d2d1/dc_render_target.c, dlls/d2d1/geometry.c, -# | dlls/d2d1/hwnd_render_target.c, dlls/d2d1/state_block.c, dlls/d3d11/view.c, dlls/d3d8/texture.c, dlls/d3d9/texture.c, -# | dlls/ddraw/viewport.c, dlls/dwrite/font.c, dlls/dwrite/layout.c, dlls/msxml3/schema.c, dlls/oleaut32/oleaut.c, -# | dlls/rpcrt4/cstub.c, dlls/vbscript/vbdisp.c, dlls/windowscodecs/info.c, dlls/wsdapi/msgparams.c, include/wine/list.h, -# | include/wine/rbtree.h, include/winnt.h +# | * dlls/bcrypt/gnutls.c, dlls/d2d1/bitmap.c, dlls/d2d1/brush.c, dlls/d2d1/dc_render_target.c, dlls/d2d1/geometry.c, +# | dlls/d2d1/hwnd_render_target.c, dlls/d2d1/state_block.c, dlls/d3d10/effect.c, dlls/d3d11/view.c, dlls/d3d8/texture.c, +# | dlls/d3d9/texture.c, dlls/ddraw/viewport.c, dlls/dwrite/font.c, dlls/dwrite/layout.c, dlls/dxgi/output.c, +# | dlls/msctf/range.c, dlls/msxml3/schema.c, dlls/ntdll/unix/virtual.c, dlls/oleaut32/oleaut.c, dlls/rpcrt4/cstub.c, +# | dlls/rpcrt4/ndr_marshall.c, dlls/rpcrt4/ndr_typelib.c, dlls/vbscript/vbdisp.c, dlls/wbemdisp/locator.c, +# | dlls/windowscodecs/info.c, dlls/wsdapi/msgparams.c, include/wine/list.h, include/wine/rbtree.h, include/winnt.h # | if test "$enable_Compiler_Warnings" -eq 1; then patch_apply Compiler_Warnings/0001-windowscodecs-Avoid-implicit-cast-of-interface-point.patch @@ -1475,6 +1476,14 @@ if test "$enable_Compiler_Warnings" -eq 1; then patch_apply Compiler_Warnings/0030-vbscript-Avoid-implicit-cast-of-interface-pointer.patch patch_apply Compiler_Warnings/0031-include-Check-element-type-in-CONTAINING_RECORD-and-.patch patch_apply Compiler_Warnings/0032-wsdapi-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0033-ntdll-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0034-bcrypt-Stop-compile-error-when-HAVE_GNUTLS_CIPHER_IN.patch + patch_apply Compiler_Warnings/0035-d3d10-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0036-d2d1-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0037-dxgi-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0038-msctf-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0039-rpcrt4-Avoid-implicit-cast-of-interface-pointer.patch + patch_apply Compiler_Warnings/0040-wbemdisp-Avoid-implicit-cast-of-interface-pointer.patch fi # Patchset Pipelight diff --git a/patches/widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch b/patches/widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch index 15c4c1fb..38a5506c 100644 --- a/patches/widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch +++ b/patches/widl-SLTG_Typelib_Support/0024-oleaut32-Add-support-for-decoding-SLTG-function-help.patch @@ -26,8 +26,8 @@ index d171956bf46..25d2c304722 100644 else pFuncDesc->funcdesc.oVft = (pFunc->vtblpos & ~1) * sizeof(void *) / pTI->pTypeLib->ptr_size; -+ if (pFunc->helpstring != 0xffff) -+ pFuncDesc->HelpString = decode_string(hlp_strings, pBlk + pFunc->helpstring, pNameTable - pBlk, pTI->pTypeLib); ++ if (pFunc->helpstring != 0xffff) ++ pFuncDesc->HelpString = decode_string(hlp_strings, pBlk + pFunc->helpstring, pNameTable - pBlk, pTI->pTypeLib); + if(pFunc->magic & SLTG_FUNCTION_FLAGS_PRESENT) pFuncDesc->funcdesc.wFuncFlags = pFunc->funcflags;