Module: wine Branch: master Commit: c1e89400aa5b4f0c871dee471b85f82365e0e1e3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c1e89400aa5b4f0c871dee471b...
Author: Huw Davies huw@codeweavers.com Date: Fri May 18 14:35:24 2007 +0100
oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents.
---
dlls/oleaut32/typelib.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c index f3ee2bf..a1b28ec 100644 --- a/dlls/oleaut32/typelib.c +++ b/dlls/oleaut32/typelib.c @@ -5827,11 +5827,10 @@ func_fail: /* not found, look for it in inherited interfaces */ ITypeInfo2_GetTypeKind(iface, &type_kind); if(type_kind == TKIND_INTERFACE || type_kind == TKIND_DISPATCH) { - HREFTYPE ref_type; - if(SUCCEEDED(ITypeInfo2_GetRefTypeOfImplType(iface, 0, &ref_type))) { + if(This->impltypelist) { /* recursive search */ ITypeInfo *pTInfo; - hres = ITypeInfo_GetRefTypeInfo(iface, ref_type, &pTInfo); + hres = ITypeInfo_GetRefTypeInfo(iface, This->impltypelist->hRef, &pTInfo); if(SUCCEEDED(hres)){ hres = ITypeInfo_Invoke(pTInfo,pIUnk,memid,wFlags,pDispParams,pVarResult,pExcepInfo,pArgErr); ITypeInfo_Release(pTInfo);