Commit 1acbdd9d authored by Robert Shearman's avatar Robert Shearman Committed by Alexandre Julliard

- Make wParamFlags in the paramdesc dumping function human readable.

- Enums should be VT_I4 instead of VT_INT. - Trace the return value from the ITypeInfo_fnInvoke.
parent da20e4d9
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
* 1999 Rein Klazes * 1999 Rein Klazes
* 2000 Francois Jacques * 2000 Francois Jacques
* 2001 Huw D M Davies for CodeWeavers * 2001 Huw D M Davies for CodeWeavers
* 2005 Robert Shearman, for CodeWeavers
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
...@@ -1073,10 +1074,19 @@ static void dump_TypeDesc(TYPEDESC *pTD,char *szVarType) { ...@@ -1073,10 +1074,19 @@ static void dump_TypeDesc(TYPEDESC *pTD,char *szVarType) {
static void dump_ELEMDESC(ELEMDESC *edesc) { static void dump_ELEMDESC(ELEMDESC *edesc) {
char buf[200]; char buf[200];
USHORT flags = edesc->u.paramdesc.wParamFlags;
dump_TypeDesc(&edesc->tdesc,buf); dump_TypeDesc(&edesc->tdesc,buf);
MESSAGE("\t\ttdesc.vartype %d (%s)\n",edesc->tdesc.vt,buf); MESSAGE("\t\ttdesc.vartype %d (%s)\n",edesc->tdesc.vt,buf);
MESSAGE("\t\tu.parmadesc.flags %x\n",edesc->u.paramdesc.wParamFlags); MESSAGE("\t\tu.paramdesc.wParamFlags");
MESSAGE("\t\tu.parmadesc.lpex %p\n",edesc->u.paramdesc.pparamdescex); if (!flags) MESSAGE(" PARAMFLAGS_NONE");
if (flags & PARAMFLAG_FIN) MESSAGE(" PARAMFLAG_FIN");
if (flags & PARAMFLAG_FOUT) MESSAGE(" PARAMFLAG_FOUT");
if (flags & PARAMFLAG_FLCID) MESSAGE(" PARAMFLAG_FLCID");
if (flags & PARAMFLAG_FRETVAL) MESSAGE(" PARAMFLAG_FRETVAL");
if (flags & PARAMFLAG_FOPT) MESSAGE(" PARAMFLAG_FOPT");
if (flags & PARAMFLAG_FHASDEFAULT) MESSAGE(" PARAMFLAG_FHASDEFAULT");
if (flags & PARAMFLAG_FHASCUSTDATA) MESSAGE(" PARAMFLAG_FHASCUSTDATA");
MESSAGE("\n\t\tu.paramdesc.lpex %p\n",edesc->u.paramdesc.pparamdescex);
} }
static void dump_FUNCDESC(FUNCDESC *funcdesc) { static void dump_FUNCDESC(FUNCDESC *funcdesc) {
int i; int i;
...@@ -4754,7 +4764,7 @@ static HRESULT userdefined_to_variantvt(ITypeInfo *tinfo, TYPEDESC *tdesc, VARTY ...@@ -4754,7 +4764,7 @@ static HRESULT userdefined_to_variantvt(ITypeInfo *tinfo, TYPEDESC *tdesc, VARTY
switch (tattr->typekind) switch (tattr->typekind)
{ {
case TKIND_ENUM: case TKIND_ENUM:
*vt |= VT_INT; *vt |= VT_I4;
break; break;
case TKIND_ALIAS: case TKIND_ALIAS:
...@@ -5095,6 +5105,7 @@ func_fail: ...@@ -5095,6 +5105,7 @@ func_fail:
} }
ITypeInfo2_ReleaseFuncDesc(iface, func_desc); ITypeInfo2_ReleaseFuncDesc(iface, func_desc);
TRACE("-- 0x%08lx\n", hres);
return hres; return hres;
} else if(SUCCEEDED(hres = ITypeInfo2_GetVarIndexOfMemId(iface, memid, &var_index))) { } else if(SUCCEEDED(hres = ITypeInfo2_GetVarIndexOfMemId(iface, memid, &var_index))) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment