Piotr Caban : oleaut32: Improve ITypeInfo2 GetRefTypeOfImplType implementation.
Alexandre Julliard
julliard at winehq.org
Thu Mar 18 11:19:29 CDT 2010
Module: wine
Branch: master
Commit: 926d3a88e7b5f9878bb8af35a3317a807721621b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=926d3a88e7b5f9878bb8af35a3317a807721621b
Author: Piotr Caban <piotr at codeweavers.com>
Date: Wed Mar 17 22:06:11 2010 +0100
oleaut32: Improve ITypeInfo2 GetRefTypeOfImplType implementation.
---
dlls/oleaut32/typelib2.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/oleaut32/typelib2.c b/dlls/oleaut32/typelib2.c
index 71d725c..8816e9d 100644
--- a/dlls/oleaut32/typelib2.c
+++ b/dlls/oleaut32/typelib2.c
@@ -3016,17 +3016,18 @@ static HRESULT WINAPI ITypeInfo2_fnGetRefTypeOfImplType(
if(!pRefType)
return E_INVALIDARG;
- if(index == -1) {
- if((This->typeinfo->typekind&0xf)==TKIND_DISPATCH
- && (This->typeinfo->flags&TYPEFLAG_FDUAL)) {
+ if(This->typeinfo->flags&TYPEFLAG_FDUAL) {
+ if(index == -1) {
*pRefType = -2;
return S_OK;
}
- return TYPE_E_ELEMENTNOTFOUND;
+ if(This->typekind == TKIND_DISPATCH)
+ return ITypeInfo2_GetRefTypeOfImplType((ITypeInfo2*)&This->dual->lpVtblTypeInfo2,
+ index, pRefType);
}
- if(index >= This->typeinfo->cImplTypes)
+ if(index>=This->typeinfo->cImplTypes)
return TYPE_E_ELEMENTNOTFOUND;
if(This->typekind == TKIND_INTERFACE) {
More information about the wine-cvs
mailing list