From: Alistair Leslie-Hughes leslie_alistair@hotmail.com
Wine-bug: https://bugs.winehq.org/show_bug.cgi?id=55053 --- dlls/wbemdisp/locator.c | 3 ++- dlls/wbemdisp/tests/wbemdisp.c | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-)
diff --git a/dlls/wbemdisp/locator.c b/dlls/wbemdisp/locator.c index 6880a503e1d..c3e0c86f4ae 100644 --- a/dlls/wbemdisp/locator.c +++ b/dlls/wbemdisp/locator.c @@ -1286,7 +1286,8 @@ static HRESULT WINAPI object_Invoke( if (!(name = get_member_name( object, member, &type ))) return DISP_E_MEMBERNOTFOUND;
- if (flags == (DISPATCH_METHOD|DISPATCH_PROPERTYGET)) + if (flags == (DISPATCH_METHOD|DISPATCH_PROPERTYGET) || + flags == DISPATCH_PROPERTYGET) { memset( params, 0, sizeof(*params) ); return IWbemClassObject_Get( object->object, name, 0, result, NULL, NULL ); diff --git a/dlls/wbemdisp/tests/wbemdisp.c b/dlls/wbemdisp/tests/wbemdisp.c index 187cb8d9e80..aae1533319b 100644 --- a/dlls/wbemdisp/tests/wbemdisp.c +++ b/dlls/wbemdisp/tests/wbemdisp.c @@ -225,6 +225,22 @@ static void test_ParseDisplayName(void) VariantClear( &res ); VariantClear( &var );
+ V_VT( &res ) = VT_ERROR; + V_BSTR( &res ) = (BSTR)0xdeadbeef; + memset( ¶ms, 0, sizeof(params) ); + hr = IDispatch_Invoke( dispatch, dispid, &IID_NULL, english, + DISPATCH_PROPERTYGET, + ¶ms, &res, NULL, NULL ); + ok( hr == S_OK, "got %#lx\n", hr ); + ok( params.rgvarg == NULL, "got %p\n", params.rgvarg ); + ok( params.rgdispidNamedArgs == NULL, "got %p\n", params.rgdispidNamedArgs ); + ok( !params.cArgs, "got %u\n", params.cArgs ); + ok( !params.cNamedArgs, "got %u\n", params.cNamedArgs ); + ok( V_VT( &res ) == VT_BSTR, "got %u\n", V_VT( &res ) ); + ok( V_BSTR( &res ) != (BSTR)0xdeadbeef, "got %u\n", V_VT( &res ) ); + VariantClear( &res ); + VariantClear( &var ); + fetched = 0xdeadbeef; hr = IEnumVARIANT_Next( enumvar, 1, &var, &fetched ); ok( hr == S_FALSE, "got %#lx\n", hr );
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=134065
Your paranoid android.
=== w7u_2qxl (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w7u_adm (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w7u_el (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w8 (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w8adm (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w864 (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w1064v1507 (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w1064v1809 (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w1064_tsign (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w10pro64 (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w11pro64 (32 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w7pro64 (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w864 (64 bit report) ===
wbemdisp: 0b08:wbemdisp: unhandled exception c0000005 at 0000000000000000
=== w1064v1507 (64 bit report) ===
wbemdisp: 0ea0:wbemdisp: unhandled exception c0000005 at 0000000000401FBE
=== w1064v1809 (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w1064_2qxl (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w1064_adm (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w1064_tsign (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w10pro64 (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w10pro64_en_AE_u8 (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w10pro64_ar (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w10pro64_ja (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w10pro64_zh_CN (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== w11pro64_amd (64 bit report) ===
wbemdisp: wbemdisp.c:234: Test failed: got 0x80004005 wbemdisp.c:239: Test failed: got 10 wbemdisp.c:240: Test failed: got 10
=== debian11b (64 bit WoW report) ===
wbemdisp: Unhandled exception: page fault on execute access to 0x00000000003b02c8 in 64-bit code (0x000000003b02c8).