From: Jason Millard jsm174@gmail.com
--- dlls/vbscript/global.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
diff --git a/dlls/vbscript/global.c b/dlls/vbscript/global.c index 78cd4617726..d3f238f797d 100644 --- a/dlls/vbscript/global.c +++ b/dlls/vbscript/global.c @@ -2451,6 +2451,7 @@ static HRESULT Global_DatePart(BuiltinDisp *This, VARIANT *arg, unsigned args_cn static HRESULT Global_TypeName(BuiltinDisp *This, VARIANT *arg, unsigned args_cnt, VARIANT *res) { ITypeInfo *typeinfo; + BSTR name; HRESULT hres;
TRACE("(%s)\n", debugstr_variant(arg)); @@ -2488,17 +2489,11 @@ static HRESULT Global_TypeName(BuiltinDisp *This, VARIANT *arg, unsigned args_cn case VT_DISPATCH: if (SUCCEEDED(IDispatch_GetTypeInfo(V_DISPATCH(arg), 0, GetUserDefaultLCID(), &typeinfo))) { - BSTR name = NULL; - hres = ITypeInfo_GetDocumentation(typeinfo, MEMBERID_NIL, &name, NULL, NULL, NULL); ITypeInfo_Release(typeinfo); + if (SUCCEEDED(hres) && name && *name) - { - hres = return_string(res, name); - SysFreeString(name); - return hres; - } - SysFreeString(name); + return_bstr(res, name); } return return_string(res, L"Object"); default: