Module: wine Branch: master Commit: 70ed25fa1a342733fcef1e638fe4b140849dfb30 URL: http://source.winehq.org/git/wine.git/?a=commit;h=70ed25fa1a342733fcef1e638f...
Author: Andrew Eikum aeikum@codeweavers.com Date: Thu May 16 09:30:38 2013 -0500
oleaut32: Also search local typeinfos in ITypeInfo::GetRefTypeInfo.
---
dlls/oleaut32/typelib.c | 13 +++++++++++++ 1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index 6a2a594..9ffcaaa 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -7089,6 +7089,19 @@ static HRESULT WINAPI ITypeInfo_fnGetRefTypeInfo( result = ITypeInfoImpl_GetDispatchRefTypeInfo((ITypeInfo *)iface, &href_dispatch, ppTInfo); } else { TLBRefType *ref_type; + UINT i; + + for(i = 0; i < This->pTypeLib->TypeInfoCount; ++i) + { + if (This->pTypeLib->typeinfos[i]->hreftype == hRefType) + { + result = S_OK; + *ppTInfo = (ITypeInfo*)This->pTypeLib->typeinfos[i]; + ITypeInfo_AddRef(*ppTInfo); + goto end; + } + } + LIST_FOR_EACH_ENTRY(ref_type, &This->pTypeLib->ref_list, TLBRefType, entry) { if(ref_type->reference == hRefType)