Huw Davies : oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents .

Alexandre Julliard julliard at wine.codeweavers.com
Fri May 18 13:56:09 CDT 2007


Module: wine
Branch: master
Commit: c1e89400aa5b4f0c871dee471b85f82365e0e1e3
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c1e89400aa5b4f0c871dee471b85f82365e0e1e3

Author: Huw Davies <huw at 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);




More information about the wine-cvs mailing list