From ebf9db37d55ed4ad07ff8dba3d81118ae343df86 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Thu, 3 Dec 2015 17:52:40 +0100 Subject: [PATCH] Rebase against 71bbd8da87109161448c7c6d7f6fcfa721b6c746. --- README.md | 2 +- ...2-Pass-a-HREFTYPE-to-get_iface_guid.patch} | 0 ...dd-test-for-calling-method-with-cocl.patch | 103 ------------------ ...t-ITypeInfo_fnInvoke-for-TKIND_COCL.patch} | 0 ...KIND_COCLASS-in-proxy-stub-marshall.patch} | 0 ...d-a-test-for-TKIND_COCLASS-in-proxy.patch} | 0 patches/patchinstall.sh | 31 +----- ...Print-windows-version-in-system-info.patch | 93 ---------------- patches/winedbg-Windows_Version/definition | 1 - staging/changelog | 2 + 10 files changed, 9 insertions(+), 223 deletions(-) rename patches/oleaut32-TKIND_COCLASS/{0002-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch => 0001-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch} (100%) delete mode 100644 patches/oleaut32-TKIND_COCLASS/0001-oleaut32-tests-Add-test-for-calling-method-with-cocl.patch rename patches/oleaut32-TKIND_COCLASS/{0003-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch => 0002-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch} (100%) rename patches/oleaut32-TKIND_COCLASS/{0004-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch => 0003-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch} (100%) rename patches/oleaut32-TKIND_COCLASS/{0005-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch => 0004-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch} (100%) delete mode 100644 patches/winedbg-Windows_Version/0001-winedbg-Print-windows-version-in-system-info.patch delete mode 100644 patches/winedbg-Windows_Version/definition diff --git a/README.md b/README.md index c6c8b783..338d6b03 100644 --- a/README.md +++ b/README.md @@ -260,7 +260,7 @@ for more details.* * Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile * Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards ([Wine Bug #21817](https://bugs.winehq.org/show_bug.cgi?id=21817)) * Show unmounted devices in winecfg and allow changing the unix path -* Show windows version when collecting system info in winedbg +* ~~Show windows version when collecting system info in winedbg~~ * Silence repeated FIXME message in surface_cpu_blt * Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076)) * ~~Skip invalid entries in GetPrivateProfileString16~~ ([Wine Bug #9919](https://bugs.winehq.org/show_bug.cgi?id=9919)) diff --git a/patches/oleaut32-TKIND_COCLASS/0002-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch b/patches/oleaut32-TKIND_COCLASS/0001-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch similarity index 100% rename from patches/oleaut32-TKIND_COCLASS/0002-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch rename to patches/oleaut32-TKIND_COCLASS/0001-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch diff --git a/patches/oleaut32-TKIND_COCLASS/0001-oleaut32-tests-Add-test-for-calling-method-with-cocl.patch b/patches/oleaut32-TKIND_COCLASS/0001-oleaut32-tests-Add-test-for-calling-method-with-cocl.patch deleted file mode 100644 index 58061efb..00000000 --- a/patches/oleaut32-TKIND_COCLASS/0001-oleaut32-tests-Add-test-for-calling-method-with-cocl.patch +++ /dev/null @@ -1,103 +0,0 @@ -From 9b845e845d3f3b9895571a9865747bf28501d47c Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Sat, 14 Nov 2015 23:14:18 +0100 -Subject: oleaut32/tests: Add test for calling method with coclass argument. - ---- - dlls/oleaut32/tests/tmarshal.c | 30 +++++++++++++++++++++++++++--- - dlls/oleaut32/tests/tmarshal.idl | 3 +++ - dlls/oleaut32/tests/tmarshal_dispids.h | 1 + - 3 files changed, 31 insertions(+), 3 deletions(-) - -diff --git a/dlls/oleaut32/tests/tmarshal.c b/dlls/oleaut32/tests/tmarshal.c -index 4a990af..96399cc 100644 ---- a/dlls/oleaut32/tests/tmarshal.c -+++ b/dlls/oleaut32/tests/tmarshal.c -@@ -598,7 +598,7 @@ static HRESULT WINAPI Widget_CloneCoclass( - ApplicationObject2 **ppVal) - { - trace("CloneCoclass()\n"); -- return S_OK; -+ return Widget_QueryInterface(iface, &IID_IWidget, (void **)ppVal); - } - - static HRESULT WINAPI Widget_Value( -@@ -909,6 +909,15 @@ static HRESULT WINAPI Widget_VarArg_Ref_Run( - return S_OK; - } - -+static HRESULT WINAPI Widget_Coclass( -+ IWidget *iface, -+ ApplicationObject2 *p) -+{ -+ trace("Coclass(%p)\n", p); -+ ok(p == (ApplicationObject2 *)iface, "expected p == %p, got %p\n", iface, p); -+ return S_OK; -+} -+ - static const struct IWidgetVtbl Widget_VTable = - { - Widget_QueryInterface, -@@ -948,7 +957,8 @@ static const struct IWidgetVtbl Widget_VTable = - Widget_pos_restrict, - Widget_neg_restrict, - Widget_VarArg_Run, -- Widget_VarArg_Ref_Run -+ Widget_VarArg_Ref_Run, -+ Widget_Coclass, - }; - - static HRESULT WINAPI StaticWidget_QueryInterface(IStaticWidget *iface, REFIID riid, void **ppvObject) -@@ -1494,8 +1504,22 @@ static void test_typelibmarshal(void) - excepinfo.wCode, excepinfo.scode); - - ok(V_VT(&varresult) == VT_DISPATCH, "V_VT(&varresult) was %d instead of VT_DISPATCH\n", V_VT(&varresult)); -- ok(!V_DISPATCH(&varresult), "V_DISPATCH(&varresult) should be NULL instead of %p\n", V_DISPATCH(&varresult)); -+ ok(V_DISPATCH(&varresult) != NULL, "expected V_DISPATCH(&varresult) != NULL\n"); -+ -+ /* call CoClass with VT_DISPATCH type */ -+ vararg[0] = varresult; -+ dispparams.cNamedArgs = 0; -+ dispparams.rgdispidNamedArgs = NULL; -+ dispparams.cArgs = 1; -+ dispparams.rgvarg = vararg; -+ VariantInit(&varresult); -+ hr = IDispatch_Invoke(pDispatch, DISPID_TM_COCLASS, &IID_NULL, LOCALE_NEUTRAL, DISPATCH_METHOD, &dispparams, &varresult, &excepinfo, NULL); -+ todo_wine ok_ole_success(hr, IDispatch_Invoke); -+ ok(excepinfo.wCode == 0x0 && excepinfo.scode == S_OK, -+ "EXCEPINFO differs from expected: wCode = 0x%x, scode = 0x%08x\n", -+ excepinfo.wCode, excepinfo.scode); - VariantClear(&varresult); -+ VariantClear(&vararg[0]); - - /* call Value with a VT_VARIANT|VT_BYREF type */ - V_VT(&vararg[0]) = VT_VARIANT|VT_BYREF; -diff --git a/dlls/oleaut32/tests/tmarshal.idl b/dlls/oleaut32/tests/tmarshal.idl -index 680f4b4..afc578f 100644 ---- a/dlls/oleaut32/tests/tmarshal.idl -+++ b/dlls/oleaut32/tests/tmarshal.idl -@@ -185,6 +185,9 @@ library TestTypelib - - [id(DISPID_TM_VARARG_REF_RUN), vararg] - HRESULT VarArg_Ref_Run([in] BSTR name, [in] SAFEARRAY(VARIANT) *params, [out, retval] VARIANT *result); -+ -+ [id(DISPID_TM_COCLASS)] -+ HRESULT Coclass([in] ApplicationObject2 *p); - } - - [ -diff --git a/dlls/oleaut32/tests/tmarshal_dispids.h b/dlls/oleaut32/tests/tmarshal_dispids.h -index dfca216..26f4027 100644 ---- a/dlls/oleaut32/tests/tmarshal_dispids.h -+++ b/dlls/oleaut32/tests/tmarshal_dispids.h -@@ -46,6 +46,7 @@ - #define DISPID_TM_TESTSECONDIFACE 27 - #define DISPID_TM_VARARG_RUN 28 - #define DISPID_TM_VARARG_REF_RUN 29 -+#define DISPID_TM_COCLASS 30 - - #define DISPID_NOA_BSTRRET 1 - #define DISPID_NOA_ERROR 2 --- -2.6.2 - diff --git a/patches/oleaut32-TKIND_COCLASS/0003-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch b/patches/oleaut32-TKIND_COCLASS/0002-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch similarity index 100% rename from patches/oleaut32-TKIND_COCLASS/0003-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch rename to patches/oleaut32-TKIND_COCLASS/0002-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch diff --git a/patches/oleaut32-TKIND_COCLASS/0004-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch b/patches/oleaut32-TKIND_COCLASS/0003-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch similarity index 100% rename from patches/oleaut32-TKIND_COCLASS/0004-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch rename to patches/oleaut32-TKIND_COCLASS/0003-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch diff --git a/patches/oleaut32-TKIND_COCLASS/0005-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch b/patches/oleaut32-TKIND_COCLASS/0004-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch similarity index 100% rename from patches/oleaut32-TKIND_COCLASS/0005-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch rename to patches/oleaut32-TKIND_COCLASS/0004-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index acfa32a1..c878a77f 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "e69d9ec3c4e8829c5c18cea7d8348171d51dcd76" + echo "71bbd8da87109161448c7c6d7f6fcfa721b6c746" } # Show version information @@ -313,7 +313,6 @@ patch_enable_all () enable_wined3d_resource_check_usage="$1" enable_wined3d_surface_cpu_blt="$1" enable_wined3d_wined3d_swapchain_present="$1" - enable_winedbg_Windows_Version="$1" enable_winedevice_Fix_Relocation="$1" enable_winemenubuilder_Desktop_Icon_Path="$1" enable_winepulse_PulseAudio_Support="$1" @@ -1050,9 +1049,6 @@ patch_enable () wined3d-wined3d_swapchain_present) enable_wined3d_wined3d_swapchain_present="$2" ;; - winedbg-Windows_Version) - enable_winedbg_Windows_Version="$2" - ;; winedevice-Fix_Relocation) enable_winedevice_Fix_Relocation="$2" ;; @@ -4659,17 +4655,14 @@ fi # | * [#19016] Implement marshalling for TKIND_COCLASS # | # | Modified files: -# | * dlls/oleaut32/tests/tmarshal.c, dlls/oleaut32/tests/tmarshal.idl, dlls/oleaut32/tests/tmarshal_dispids.h, -# | dlls/oleaut32/tmarshal.c, dlls/oleaut32/typelib.c +# | * dlls/oleaut32/tests/tmarshal.c, dlls/oleaut32/tmarshal.c, dlls/oleaut32/typelib.c # | if test "$enable_oleaut32_TKIND_COCLASS" -eq 1; then - patch_apply oleaut32-TKIND_COCLASS/0001-oleaut32-tests-Add-test-for-calling-method-with-cocl.patch - patch_apply oleaut32-TKIND_COCLASS/0002-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch - patch_apply oleaut32-TKIND_COCLASS/0003-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch - patch_apply oleaut32-TKIND_COCLASS/0004-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch - patch_apply oleaut32-TKIND_COCLASS/0005-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch + patch_apply oleaut32-TKIND_COCLASS/0001-oleaut32-Pass-a-HREFTYPE-to-get_iface_guid.patch + patch_apply oleaut32-TKIND_COCLASS/0002-oleaut32-Implement-ITypeInfo_fnInvoke-for-TKIND_COCL.patch + patch_apply oleaut32-TKIND_COCLASS/0003-oleaut32-Handle-TKIND_COCLASS-in-proxy-stub-marshall.patch + patch_apply oleaut32-TKIND_COCLASS/0004-oleaut32-tests-Add-a-test-for-TKIND_COCLASS-in-proxy.patch ( - echo '+ { "Sebastian Lackner", "oleaut32/tests: Add test for calling method with coclass argument.", 1 },'; echo '+ { "Sebastian Lackner", "oleaut32: Pass a HREFTYPE to get_iface_guid.", 1 },'; echo '+ { "Sebastian Lackner", "oleaut32: Implement ITypeInfo_fnInvoke for TKIND_COCLASS in arguments.", 1 },'; echo '+ { "Sebastian Lackner", "oleaut32: Handle TKIND_COCLASS in proxy/stub marshalling.", 1 },'; @@ -6298,18 +6291,6 @@ if test "$enable_wined3d_CSMT_Main" -eq 1; then ) >> "$patchlist" fi -# Patchset winedbg-Windows_Version -# | -# | Modified files: -# | * programs/winedbg/tgt_active.c -# | -if test "$enable_winedbg_Windows_Version" -eq 1; then - patch_apply winedbg-Windows_Version/0001-winedbg-Print-windows-version-in-system-info.patch - ( - echo '+ { "Michael Müller", "winedbg: Print windows version in system info.", 1 },'; - ) >> "$patchlist" -fi - # Patchset winedevice-Fix_Relocation # | # | This patchset fixes the following Wine bugs: diff --git a/patches/winedbg-Windows_Version/0001-winedbg-Print-windows-version-in-system-info.patch b/patches/winedbg-Windows_Version/0001-winedbg-Print-windows-version-in-system-info.patch deleted file mode 100644 index b9423f1b..00000000 --- a/patches/winedbg-Windows_Version/0001-winedbg-Print-windows-version-in-system-info.patch +++ /dev/null @@ -1,93 +0,0 @@ -From f6cf4f7a6fd675a4b742303608e702d2ecd87b9b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Wed, 7 Oct 2015 03:38:54 +0200 -Subject: winedbg: Print windows version in system info. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Signed-off-by: Michael Müller ---- - programs/winedbg/tgt_active.c | 59 +++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 59 insertions(+) - -diff --git a/programs/winedbg/tgt_active.c b/programs/winedbg/tgt_active.c -index 989e433..b2efe62 100644 ---- a/programs/winedbg/tgt_active.c -+++ b/programs/winedbg/tgt_active.c -@@ -678,6 +678,64 @@ static HANDLE create_temp_file(void) - NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_DELETE_ON_CLOSE, 0 ); - } - -+struct -+{ -+ int type; -+ int platform; -+ int major; -+ int minor; -+ const char *str; -+} -+version_table[] = -+{ -+ { 0, VER_PLATFORM_WIN32s, 2, 0, "2.0" }, -+ { 0, VER_PLATFORM_WIN32s, 3, 0, "3.0" }, -+ { 0, VER_PLATFORM_WIN32s, 3, 10, "3.1" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 3, 51, "NT 3.51" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 4, 0, "NT 4.0" }, -+ { 0, VER_PLATFORM_WIN32_WINDOWS, 4, 0, "95" }, -+ { 0, VER_PLATFORM_WIN32_WINDOWS, 4, 10, "98" }, -+ { 0, VER_PLATFORM_WIN32_WINDOWS, 4, 90, "ME" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 5, 0, "2000" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 5, 1, "XP" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 5, 2, "XP" }, -+ { VER_NT_SERVER, VER_PLATFORM_WIN32_NT, 5, 2, "Server 2003" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 6, 0, "Vista" }, -+ { VER_NT_SERVER, VER_PLATFORM_WIN32_NT, 6, 0, "Server 2008" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 6, 1, "7" }, -+ { VER_NT_SERVER, VER_PLATFORM_WIN32_NT, 6, 1, "Server 2008 R2" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 6, 2, "8" }, -+ { VER_NT_SERVER, VER_PLATFORM_WIN32_NT, 6, 2, "Server 2012" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 6, 3, "8.1" }, -+ { VER_NT_SERVER, VER_PLATFORM_WIN32_NT, 6, 3, "Server 2012 R2" }, -+ { VER_NT_WORKSTATION, VER_PLATFORM_WIN32_NT, 10, 0, "10" }, -+ { VER_NT_SERVER, VER_PLATFORM_WIN32_NT, 10, 0, "Server 2016" }, -+}; -+ -+static const char *get_windows_version(void) -+{ -+ OSVERSIONINFOEXW info = { sizeof(OSVERSIONINFOEXW) }; -+ static char str[64]; -+ int i; -+ -+ GetVersionExW( (OSVERSIONINFOW *)&info ); -+ -+ for (i = 0; i < sizeof(version_table) / sizeof(version_table[0]); i++) -+ { -+ if (version_table[i].type == info.wProductType && -+ version_table[i].platform == info.dwPlatformId && -+ version_table[i].major == info.dwMajorVersion && -+ version_table[i].minor == info.dwMinorVersion) -+ { -+ return version_table[i].str; -+ } -+ } -+ -+ snprintf( str, sizeof(str), "%d.%d (%d)", info.dwMajorVersion, -+ info.dwMinorVersion, info.wProductType ); -+ return str; -+} -+ - static void output_system_info(void) - { - #ifdef __i386__ -@@ -705,6 +763,7 @@ static void output_system_info(void) - dbg_printf( "System information:\n" ); - if (wine_get_build_id) dbg_printf( " Wine build: %s\n", wine_get_build_id() ); - dbg_printf( " Platform: %s%s\n", platform, is_wow64 ? " (WOW64)" : "" ); -+ dbg_printf( " Version: Windows %s\n", get_windows_version() ); - if (wine_get_host_version) - { - const char *sysname, *release; --- -2.6.0 - diff --git a/patches/winedbg-Windows_Version/definition b/patches/winedbg-Windows_Version/definition deleted file mode 100644 index 7a5a22c6..00000000 --- a/patches/winedbg-Windows_Version/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: Show windows version when collecting system info in winedbg diff --git a/staging/changelog b/staging/changelog index c88a3aae..96fcf2ce 100644 --- a/staging/changelog +++ b/staging/changelog @@ -6,6 +6,8 @@ wine-staging (1.8~rc3) UNRELEASED; urgency=low (accepted upstream). * Removed patch to skip invalid entries in GetPrivateProfileString16 (accepted upstream). + * Removed patch to show windows version when collecting system info in winedbg + (accepted upstream). -- Sebastian Lackner Tue, 01 Dec 2015 02:35:10 +0100 wine-staging (1.8~rc2) unstable; urgency=low