GetFuncIndexOfMemId should respect invkind and return
TYPE_E_ELEMENTNOTFOUND if the function cannot be found.
This commit is contained in:
parent
b4e495574b
commit
367d16931e
|
@ -5249,18 +5249,18 @@ static HRESULT WINAPI ITypeInfo2_fnGetFuncIndexOfMemId( ITypeInfo2 * iface,
|
||||||
TLBFuncDesc *pFuncInfo;
|
TLBFuncDesc *pFuncInfo;
|
||||||
int i;
|
int i;
|
||||||
HRESULT result;
|
HRESULT result;
|
||||||
/* FIXME: should check for invKind??? */
|
|
||||||
for(i=0, pFuncInfo=This->funclist;pFuncInfo &&
|
for(i = 0, pFuncInfo = This->funclist; pFuncInfo; i++, pFuncInfo=pFuncInfo->next)
|
||||||
memid != pFuncInfo->funcdesc.memid; i++, pFuncInfo=pFuncInfo->next);
|
if(memid == pFuncInfo->funcdesc.memid && (invKind & pFuncInfo->funcdesc.invkind))
|
||||||
if(pFuncInfo){
|
break;
|
||||||
*pFuncIndex=i;
|
if(pFuncInfo) {
|
||||||
result= S_OK;
|
*pFuncIndex = i;
|
||||||
}else{
|
result = S_OK;
|
||||||
*pFuncIndex=0;
|
} else
|
||||||
result=E_INVALIDARG;
|
result = TYPE_E_ELEMENTNOTFOUND;
|
||||||
}
|
|
||||||
TRACE("(%p) memid 0x%08lx invKind 0x%04x -> %s\n", This,
|
TRACE("(%p) memid 0x%08lx invKind 0x%04x -> %s\n", This,
|
||||||
memid, invKind, SUCCEEDED(result)? "SUCCES":"FAILED");
|
memid, invKind, SUCCEEDED(result) ? "SUCCESS" : "FAILED");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue