Rebase against 71bbd8da87109161448c7c6d7f6fcfa721b6c746.

This commit is contained in:
Sebastian Lackner 2015-12-03 17:52:40 +01:00
parent 2d713a931d
commit ebf9db37d5
10 changed files with 9 additions and 223 deletions

View File

@ -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))

View File

@ -1,103 +0,0 @@
From 9b845e845d3f3b9895571a9865747bf28501d47c Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
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

View File

@ -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:

View File

@ -1,93 +0,0 @@
From f6cf4f7a6fd675a4b742303608e702d2ecd87b9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
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 <michael@fds-team.de>
---
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

View File

@ -1 +0,0 @@
Fixes: Show windows version when collecting system info in winedbg

View File

@ -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 <sebastian@fds-team.de> Tue, 01 Dec 2015 02:35:10 +0100
wine-staging (1.8~rc2) unstable; urgency=low