Huw Davies : oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents .
Module: wine Branch: master Commit: c1e89400aa5b4f0c871dee471b85f82365e0e1e3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c1e89400aa5b4f0c871dee471b... Author: Huw Davies <huw(a)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);
participants (1)
-
Alexandre Julliard