From 6b93eac6adbe1a5336ba78192f816b53eb723d01 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 6 Jun 2018 08:44:57 +1000 Subject: [PATCH] Rebase against 5fd3090f522a9c2a4cfb077c9b7cdc1ae1304c4c --- patches/patchinstall.sh | 37 +-- ...ecisely-ParseURLFromOutsideSourceX-r.patch | 20 +- ...sp-Add-ISWbemSecurity-stub-interface.patch | 304 ------------------ patches/wbemdisp-ISWbemSecurity/definition | 1 - ...ly-compare-Interpolation-mode-values.patch | 27 -- .../definition | 2 - 6 files changed, 11 insertions(+), 380 deletions(-) delete mode 100644 patches/wbemdisp-ISWbemSecurity/0001-wbemdisp-Add-ISWbemSecurity-stub-interface.patch delete mode 100644 patches/wbemdisp-ISWbemSecurity/definition delete mode 100644 patches/wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch delete mode 100644 patches/wined3d-CompareInterpolationMode/definition diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index fed2e884..6dbba136 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "11e3cf091d8ec70a9d6004ac6a51d5c827d9ddff" + echo "5fd3090f522a9c2a4cfb077c9b7cdc1ae1304c4c" } # Show version information @@ -345,7 +345,6 @@ patch_enable_all () enable_version_VerFindFileA="$1" enable_version_VerQueryValue="$1" enable_virtdisk_GetStorageDependencyInformation="$1" - enable_wbemdisp_ISWbemSecurity="$1" enable_widl_SLTG_Typelib_Support="$1" enable_windowscodecs_32bppPRGBA="$1" enable_windowscodecs_GIF_Encoder="$1" @@ -369,7 +368,6 @@ patch_enable_all () enable_winecfg_Unmounted_Devices="$1" enable_wined3d_Accounting="$1" enable_wined3d_CSMT_Main="$1" - enable_wined3d_CompareInterpolationMode="$1" enable_wined3d_DXTn="$1" enable_wined3d_Dual_Source_Blending="$1" enable_wined3d_Indexed_Vertex_Blending="$1" @@ -1213,9 +1211,6 @@ patch_enable () virtdisk-GetStorageDependencyInformation) enable_virtdisk_GetStorageDependencyInformation="$2" ;; - wbemdisp-ISWbemSecurity) - enable_wbemdisp_ISWbemSecurity="$2" - ;; widl-SLTG_Typelib_Support) enable_widl_SLTG_Typelib_Support="$2" ;; @@ -1285,9 +1280,6 @@ patch_enable () wined3d-CSMT_Main) enable_wined3d_CSMT_Main="$2" ;; - wined3d-CompareInterpolationMode) - enable_wined3d_CompareInterpolationMode="$2" - ;; wined3d-DXTn) enable_wined3d_DXTn="$2" ;; @@ -7149,18 +7141,6 @@ if test "$enable_virtdisk_GetStorageDependencyInformation" -eq 1; then ) >> "$patchlist" fi -# Patchset wbemdisp-ISWbemSecurity -# | -# | Modified files: -# | * dlls/wbemdisp/locator.c -# | -if test "$enable_wbemdisp_ISWbemSecurity" -eq 1; then - patch_apply wbemdisp-ISWbemSecurity/0001-wbemdisp-Add-ISWbemSecurity-stub-interface.patch - ( - printf '%s\n' '+ { "Michael Müller", "wbemdisp: Add ISWbemSecurity stub interface.", 1 },'; - ) >> "$patchlist" -fi - # Patchset windowscodecs-Palette_Images # | # | Modified files: @@ -7689,21 +7669,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then ) >> "$patchlist" fi -# Patchset wined3d-CompareInterpolationMode -# | -# | This patchset fixes the following Wine bugs: -# | * [#45127] Correctly compare Interpolation mode values -# | -# | Modified files: -# | * dlls/wined3d/glsl_shader.c -# | -if test "$enable_wined3d_CompareInterpolationMode" -eq 1; then - patch_apply wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch - ( - printf '%s\n' '+ { "Matteo Bruni", "wined3d: Correctly compare Interpolation mode values.", 1 },'; - ) >> "$patchlist" -fi - # Patchset wined3d-WINED3D_RS_COLORWRITEENABLE # | # | This patchset has the following (direct or indirect) dependencies: diff --git a/patches/shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch b/patches/shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch index 550dcbd2..87e1ce96 100644 --- a/patches/shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch +++ b/patches/shdocvw-ParseURLFromOutsideSource_Tests/0001-shdocvw-Check-precisely-ParseURLFromOutsideSourceX-r.patch @@ -1,8 +1,8 @@ -From 8c77eaf04997422d4febc835d0331dba89a17a79 Mon Sep 17 00:00:00 2001 +From 64c5030300ca302fcc36f471feb27d9e46b56f30 Mon Sep 17 00:00:00 2001 From: Christian Costa Date: Tue, 3 Sep 2013 23:28:14 +0200 -Subject: shdocvw: Check precisely ParseURLFromOutsideSourceX returned values - in tests and make code clearer about that. (try 3) +Subject: [PATCH] shdocvw: Check precisely ParseURLFromOutsideSourceX returned + values in tests and make code clearer about that. (try 3) Try 3: - fix test check for ansi version @@ -15,10 +15,10 @@ Try 2: 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/dlls/shdocvw/shdocvw_main.c b/dlls/shdocvw/shdocvw_main.c -index 3ce5df1..8020526 100644 +index 52c622c609..ef9e3a7dfb 100644 --- a/dlls/shdocvw/shdocvw_main.c +++ b/dlls/shdocvw/shdocvw_main.c -@@ -378,8 +378,7 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L +@@ -379,8 +379,7 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L HRESULT hr; DWORD needed; DWORD len; @@ -28,7 +28,7 @@ index 3ce5df1..8020526 100644 TRACE("(%s, %p, %p, %p) len: %d, unknown: 0x%x\n", debugstr_w(url), out, plen, unknown, plen ? *plen : 0, unknown ? *unknown : 0); -@@ -405,10 +404,12 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L +@@ -406,10 +405,12 @@ DWORD WINAPI ParseURLFromOutsideSourceW(LPCWSTR url, LPWSTR out, LPDWORD plen, L needed = lstrlenW(buffer_out)+1; TRACE("got 0x%x with %s (need %d)\n", hr, debugstr_w(buffer_out), needed); @@ -42,7 +42,7 @@ index 3ce5df1..8020526 100644 } needed--; } -@@ -451,6 +452,7 @@ DWORD WINAPI ParseURLFromOutsideSourceA(LPCSTR url, LPSTR out, LPDWORD plen, LPD +@@ -452,6 +453,7 @@ DWORD WINAPI ParseURLFromOutsideSourceA(LPCSTR url, LPSTR out, LPDWORD plen, LPD if (*plen >= needed) { if (out != NULL) { WideCharToMultiByte(CP_ACP, 0, buffer, -1, out, *plen, NULL, NULL); @@ -51,7 +51,7 @@ index 3ce5df1..8020526 100644 } needed--; diff --git a/dlls/shdocvw/tests/shdocvw.c b/dlls/shdocvw/tests/shdocvw.c -index 7b4eccf..cdf1814 100644 +index d54cf1613a..167fcf1a92 100644 --- a/dlls/shdocvw/tests/shdocvw.c +++ b/dlls/shdocvw/tests/shdocvw.c @@ -212,13 +212,13 @@ static void test_ParseURLFromOutsideSourceA(void) @@ -74,7 +74,7 @@ index 7b4eccf..cdf1814 100644 /* use the size test only for the first examples */ @@ -308,11 +308,12 @@ static void test_ParseURLFromOutsideSourceW(void) /* len is in characters */ - len = sizeof(bufferW)/sizeof(bufferW[0]); + len = ARRAY_SIZE(bufferW); dummy = 0; + /* on success, 1 is returned for unicode version */ res = pParseURLFromOutsideSourceW(urlW, bufferW, &len, &dummy); @@ -88,5 +88,5 @@ index 7b4eccf..cdf1814 100644 -- -2.1.2 +2.17.1 diff --git a/patches/wbemdisp-ISWbemSecurity/0001-wbemdisp-Add-ISWbemSecurity-stub-interface.patch b/patches/wbemdisp-ISWbemSecurity/0001-wbemdisp-Add-ISWbemSecurity-stub-interface.patch deleted file mode 100644 index 36cf1726..00000000 --- a/patches/wbemdisp-ISWbemSecurity/0001-wbemdisp-Add-ISWbemSecurity-stub-interface.patch +++ /dev/null @@ -1,304 +0,0 @@ -From ad8dcad06c9094763b2fe04f469d07701a74abeb Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Sun, 24 May 2015 03:56:52 +0200 -Subject: wbemdisp: Add ISWbemSecurity stub interface. - ---- - dlls/wbemdisp/locator.c | 249 +++++++++++++++++++++++++++++++++++++++++++++++- - 1 file changed, 244 insertions(+), 5 deletions(-) - -diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c -index 6fdd608458..0a0b7d9d9b 100644 ---- a/dlls/wbemdisp/locator.c -+++ b/dlls/wbemdisp/locator.c -@@ -37,6 +37,7 @@ - WINE_DEFAULT_DEBUG_CHANNEL(wbemdisp); - - static HRESULT EnumVARIANT_create( IEnumWbemClassObject *, IEnumVARIANT ** ); -+static HRESULT ISWbemSecurity_create( ISWbemSecurity ** ); - - enum type_id - { -@@ -46,6 +47,7 @@ enum type_id - ISWbemProperty_tid, - ISWbemPropertySet_tid, - ISWbemServices_tid, -+ ISWbemSecurity_tid, - last_tid - }; - -@@ -59,7 +61,8 @@ static REFIID wbemdisp_tid_id[] = - &IID_ISWbemObjectSet, - &IID_ISWbemProperty, - &IID_ISWbemPropertySet, -- &IID_ISWbemServices -+ &IID_ISWbemServices, -+ &IID_ISWbemSecurity - }; - - static HRESULT get_typeinfo( enum type_id tid, ITypeInfo **ret ) -@@ -1872,8 +1875,12 @@ static HRESULT WINAPI services_get_Security_( - ISWbemServices *iface, - ISWbemSecurity **objWbemSecurity ) - { -- FIXME( "\n" ); -- return E_NOTIMPL; -+ TRACE( "%p, %p\n", iface, objWbemSecurity ); -+ -+ if (!objWbemSecurity) -+ return E_INVALIDARG; -+ -+ return ISWbemSecurity_create( objWbemSecurity ); - } - - static const ISWbemServicesVtbl services_vtbl = -@@ -2127,8 +2134,12 @@ static HRESULT WINAPI locator_get_Security_( - ISWbemLocator *iface, - ISWbemSecurity **objWbemSecurity ) - { -- FIXME( "%p, %p\n", iface, objWbemSecurity ); -- return E_NOTIMPL; -+ TRACE( "%p, %p\n", iface, objWbemSecurity ); -+ -+ if (!objWbemSecurity) -+ return E_INVALIDARG; -+ -+ return ISWbemSecurity_create( objWbemSecurity ); - } - - static const ISWbemLocatorVtbl locator_vtbl = -@@ -2159,3 +2170,231 @@ HRESULT SWbemLocator_create( void **obj ) - TRACE( "returning iface %p\n", *obj ); - return S_OK; - } -+ -+struct security -+{ -+ ISWbemSecurity ISWbemSecurity_iface; -+ LONG refs; -+ WbemImpersonationLevelEnum implevel; -+ WbemAuthenticationLevelEnum authlevel; -+}; -+ -+static inline struct security *impl_from_ISWbemSecurity( ISWbemSecurity *iface ) -+{ -+ return CONTAINING_RECORD( iface, struct security, ISWbemSecurity_iface ); -+} -+ -+static ULONG WINAPI security_AddRef( -+ ISWbemSecurity *iface ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ return InterlockedIncrement( &security->refs ); -+} -+ -+static ULONG WINAPI security_Release( -+ ISWbemSecurity *iface ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ LONG refs = InterlockedDecrement( &security->refs ); -+ if (!refs) -+ { -+ TRACE( "destroying %p\n", security ); -+ heap_free( security ); -+ } -+ return refs; -+} -+ -+static HRESULT WINAPI security_QueryInterface( -+ ISWbemSecurity *iface, -+ REFIID riid, -+ void **ppvObject ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ TRACE( "%p, %s, %p\n", security, debugstr_guid( riid ), ppvObject ); -+ -+ if (IsEqualGUID( riid, &IID_ISWbemSecurity ) || -+ IsEqualGUID( riid, &IID_IDispatch ) || -+ IsEqualGUID( riid, &IID_IUnknown )) -+ { -+ *ppvObject = iface; -+ } -+ else -+ { -+ FIXME( "interface %s not implemented\n", debugstr_guid(riid) ); -+ return E_NOINTERFACE; -+ } -+ ISWbemSecurity_AddRef( iface ); -+ return S_OK; -+} -+ -+static HRESULT WINAPI security_GetTypeInfoCount( -+ ISWbemSecurity *iface, -+ UINT *count ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ TRACE( "%p, %p\n", security, count ); -+ -+ *count = 1; -+ return S_OK; -+} -+ -+static HRESULT WINAPI security_GetTypeInfo( -+ ISWbemSecurity *iface, -+ UINT index, -+ LCID lcid, -+ ITypeInfo **info ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ TRACE( "%p, %u, %u, %p\n", security, index, lcid, info ); -+ -+ return get_typeinfo( ISWbemSecurity_tid, info ); -+} -+ -+static HRESULT WINAPI security_GetIDsOfNames( -+ ISWbemSecurity *iface, -+ REFIID riid, -+ LPOLESTR *names, -+ UINT count, -+ LCID lcid, -+ DISPID *dispid ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ ITypeInfo *typeinfo; -+ HRESULT hr; -+ -+ TRACE( "%p, %s, %p, %u, %u, %p\n", security, debugstr_guid(riid), names, count, lcid, dispid ); -+ -+ if (!names || !count || !dispid) return E_INVALIDARG; -+ -+ hr = get_typeinfo( ISWbemSecurity_tid, &typeinfo ); -+ if (SUCCEEDED(hr)) -+ { -+ hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid ); -+ ITypeInfo_Release( typeinfo ); -+ } -+ return hr; -+} -+ -+static HRESULT WINAPI security_Invoke( -+ ISWbemSecurity *iface, -+ DISPID member, -+ REFIID riid, -+ LCID lcid, -+ WORD flags, -+ DISPPARAMS *params, -+ VARIANT *result, -+ EXCEPINFO *excep_info, -+ UINT *arg_err ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ ITypeInfo *typeinfo; -+ HRESULT hr; -+ -+ TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", security, member, debugstr_guid(riid), -+ lcid, flags, params, result, excep_info, arg_err ); -+ -+ hr = get_typeinfo( ISWbemSecurity_tid, &typeinfo ); -+ if (SUCCEEDED(hr)) -+ { -+ hr = ITypeInfo_Invoke( typeinfo, &security->ISWbemSecurity_iface, member, flags, -+ params, result, excep_info, arg_err ); -+ ITypeInfo_Release( typeinfo ); -+ } -+ return hr; -+} -+ -+static HRESULT WINAPI security_get_ImpersonationLevel_( -+ ISWbemSecurity *iface, -+ WbemImpersonationLevelEnum *impersonation_level ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ FIXME( "%p, %p: stub\n", security, impersonation_level ); -+ -+ if (!impersonation_level) -+ return E_INVALIDARG; -+ -+ *impersonation_level = security->implevel; -+ return S_OK; -+} -+ -+static HRESULT WINAPI security_put_ImpersonationLevel_( -+ ISWbemSecurity *iface, -+ WbemImpersonationLevelEnum impersonation_level ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ FIXME( "%p, %d: stub\n", security, impersonation_level ); -+ -+ security->implevel = impersonation_level; -+ return S_OK; -+} -+ -+static HRESULT WINAPI security_get_AuthenticationLevel_( -+ ISWbemSecurity *iface, -+ WbemAuthenticationLevelEnum *authentication_level ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ FIXME( "%p, %p: stub\n", security, authentication_level ); -+ -+ if (!authentication_level) -+ return E_INVALIDARG; -+ -+ *authentication_level = security->authlevel; -+ return S_OK; -+} -+ -+static HRESULT WINAPI security_put_AuthenticationLevel_( -+ ISWbemSecurity *iface, -+ WbemAuthenticationLevelEnum authentication_level ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ FIXME( "%p, %d: stub\n", security, authentication_level ); -+ -+ security->authlevel = authentication_level; -+ return S_OK; -+} -+ -+static HRESULT WINAPI security_get_Privileges_( -+ ISWbemSecurity *iface, -+ ISWbemPrivilegeSet **privilege_set ) -+{ -+ struct security *security = impl_from_ISWbemSecurity( iface ); -+ FIXME( "%p, %p: stub\n", security, privilege_set ); -+ -+ if (!privilege_set) -+ return E_INVALIDARG; -+ -+ return E_NOTIMPL; -+} -+ -+static const ISWbemSecurityVtbl security_vtbl = -+{ -+ security_QueryInterface, -+ security_AddRef, -+ security_Release, -+ security_GetTypeInfoCount, -+ security_GetTypeInfo, -+ security_GetIDsOfNames, -+ security_Invoke, -+ security_get_ImpersonationLevel_, -+ security_put_ImpersonationLevel_, -+ security_get_AuthenticationLevel_, -+ security_put_AuthenticationLevel_, -+ security_get_Privileges_ -+}; -+ -+static HRESULT ISWbemSecurity_create( ISWbemSecurity **obj ) -+{ -+ struct security *security; -+ -+ TRACE( "%p\n", obj ); -+ -+ if (!(security = heap_alloc( sizeof(*security) ))) return E_OUTOFMEMORY; -+ security->ISWbemSecurity_iface.lpVtbl = &security_vtbl; -+ security->refs = 1; -+ security->implevel = wbemImpersonationLevelAnonymous; -+ security->authlevel = wbemAuthenticationLevelDefault; -+ -+ *obj = &security->ISWbemSecurity_iface; -+ TRACE( "returning iface %p\n", *obj ); -+ return S_OK; -+} --- -2.11.0 - diff --git a/patches/wbemdisp-ISWbemSecurity/definition b/patches/wbemdisp-ISWbemSecurity/definition deleted file mode 100644 index fada1fb9..00000000 --- a/patches/wbemdisp-ISWbemSecurity/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Add stubbed ISWbemSecurity interfaces in wbemdisp diff --git a/patches/wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch b/patches/wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch deleted file mode 100644 index 6764bdb4..00000000 --- a/patches/wined3d-CompareInterpolationMode/0001-wined3d-Correctly-compare-Interpolation-mode-values.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 76727eeb72952a3ded2b75917a15d76429efbaa3 Mon Sep 17 00:00:00 2001 -From: Matteo Bruni -Date: Sun, 27 May 2018 11:22:33 +1000 -Subject: [PATCH] wined3d: Correctly compare Interpolation mode values - ---- - dlls/wined3d/glsl_shader.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c -index 41bd1fd055..b54e2833ba 100644 ---- a/dlls/wined3d/glsl_shader.c -+++ b/dlls/wined3d/glsl_shader.c -@@ -8281,7 +8281,9 @@ static inline BOOL vs_args_equal(const struct vs_compile_args *stored, const str - return FALSE; - if (stored->next_shader_input_count != new->next_shader_input_count) - return FALSE; -- return stored->fog_src == new->fog_src; -+ if (stored->fog_src != new->fog_src) -+ return FALSE; -+ return !memcmp(stored->interpolation_mode, new->interpolation_mode, sizeof(new->interpolation_mode)); - } - - static GLuint find_glsl_vshader(const struct wined3d_context *context, struct shader_glsl_priv *priv, --- -2.17.0 - diff --git a/patches/wined3d-CompareInterpolationMode/definition b/patches/wined3d-CompareInterpolationMode/definition deleted file mode 100644 index e0aff67b..00000000 --- a/patches/wined3d-CompareInterpolationMode/definition +++ /dev/null @@ -1,2 +0,0 @@ -Fixes: [45127] Correctly compare Interpolation mode values -