Module: wine Branch: master Commit: 3982f12404a5dc0f3a626ccba9ed20c1d1b3c355 URL: http://source.winehq.org/git/wine.git/?a=commit;h=3982f12404a5dc0f3a626ccba9...
Author: Mikolaj Zalewski mikolajz@google.com Date: Thu Oct 4 16:17:48 2007 -0700
oleview: Don't crash if the parent type couldn't be retrieved.
---
programs/oleview/typelib.c | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index 1acdd84..355826b 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -895,14 +895,18 @@ static void CreateInterfaceInfo(ITypeInfo *pTypeInfo, int cImplTypes, WCHAR *wsz AddToTLDataStrW(pTLData, wszSpace);
ITypeInfo_GetRefTypeOfImplType(pTypeInfo, 0, &hRefType); - ITypeInfo_GetRefTypeInfo(pTypeInfo, hRefType, &pRefTypeInfo); - ITypeInfo_GetDocumentation(pRefTypeInfo, MEMBERID_NIL, &bstrName, + if (SUCCEEDED(ITypeInfo_GetRefTypeInfo(pTypeInfo, hRefType, &pRefTypeInfo))) + { + ITypeInfo_GetDocumentation(pRefTypeInfo, MEMBERID_NIL, &bstrName, NULL, NULL, NULL); - AddToTLDataStrW(pTLData, bstrName); - AddToTLDataStrW(pTLData, wszSpace); + AddToTLDataStrW(pTLData, bstrName); + AddToTLDataStrW(pTLData, wszSpace);
- SysFreeString(bstrName); - ITypeInfo_Release(pRefTypeInfo); + SysFreeString(bstrName); + ITypeInfo_Release(pRefTypeInfo); + } + else + AddToTLDataStrW(pTLData, wszFailed); } AddToTLDataStrW(pTLData, wszOpenBrackets3); AddToTLDataStrW(pTLData, wszNewLine);