oleaut32: Fix the return code for an invalid dispid in IFontDisp::Invoke.
This commit is contained in:
parent
fd48f795ff
commit
18732f85f9
|
@ -1402,6 +1402,10 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
||||||
OLEFontImpl *this = impl_from_IDispatch(iface);
|
OLEFontImpl *this = impl_from_IDispatch(iface);
|
||||||
HRESULT hr;
|
HRESULT hr;
|
||||||
|
|
||||||
|
TRACE("%p->(%ld,%s,0x%lx,0x%x,%p,%p,%p,%p)\n", this, dispIdMember,
|
||||||
|
debugstr_guid(riid), lcid, wFlags, pDispParams, pVarResult, pExepInfo,
|
||||||
|
puArgErr);
|
||||||
|
|
||||||
/* validate parameters */
|
/* validate parameters */
|
||||||
|
|
||||||
if (!IsEqualIID(riid, &IID_NULL))
|
if (!IsEqualIID(riid, &IID_NULL))
|
||||||
|
@ -1600,12 +1604,10 @@ static HRESULT WINAPI OLEFontImpl_Invoke(
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
ERR("member not found for dispid 0x%lx\n", dispIdMember);
|
||||||
|
return DISP_E_MEMBERNOTFOUND;
|
||||||
}
|
}
|
||||||
FIXME("%p->(%ld,%s,%lx,%x,%p,%p,%p,%p), unhandled dispid/flag!\n",
|
|
||||||
this,dispIdMember,debugstr_guid(riid),lcid,
|
|
||||||
wFlags,pDispParams,pVarResult,pExepInfo,puArgErr
|
|
||||||
);
|
|
||||||
return S_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
|
|
@ -459,6 +459,12 @@ static void test_Invoke(void)
|
||||||
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
||||||
ok_ole_success(hr, "IFontDisp_Invoke");
|
ok_ole_success(hr, "IFontDisp_Invoke");
|
||||||
|
|
||||||
|
hr = IFontDisp_Invoke(fontdisp, DISPID_FONT_BOLD, &IID_NULL, 0, DISPATCH_METHOD, NULL, &varresult, NULL, NULL);
|
||||||
|
ok(hr == DISP_E_MEMBERNOTFOUND, "IFontDisp_Invoke should have returned DISP_E_MEMBERNOTFOUND instead of 0x%08lx\n", hr);
|
||||||
|
|
||||||
|
hr = IFontDisp_Invoke(fontdisp, 0xdeadbeef, &IID_NULL, 0, DISPATCH_PROPERTYGET, NULL, &varresult, NULL, NULL);
|
||||||
|
ok(hr == DISP_E_MEMBERNOTFOUND, "IFontDisp_Invoke should have returned DISP_E_MEMBERNOTFOUND instead of 0x%08lx\n", hr);
|
||||||
|
|
||||||
IFontDisp_Release(fontdisp);
|
IFontDisp_Release(fontdisp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue