[OLE #56] Propogate errors better in the typelib marshaller
Mike Hearn
mh at codeweavers.com
Wed Jan 26 12:17:47 CST 2005
This stops us crashing out messily when stdole32.tlb is missing with
InstallShield. Instead InstallShield now correctly reports an error and
quits.
Mike Hearn <mh at codeweavers.com>
Fix a typo, propagate errors better from inside the typelib marshaller
-------------- next part --------------
--- dlls/oleaut32/tmarshal.c (revision 111)
+++ dlls/oleaut32/tmarshal.c (local)
@@ -132,7 +132,7 @@ _unmarshal_interface(marshal_state *buf,
if (hres) { FIXME("Failed Seek %lx\n",hres); return hres;}
hres = CoUnmarshalInterface(pStm,riid,(LPVOID*)pUnk);
if (hres) {
- FIXME("Marshalling interface %s failed with %lx\n",debugstr_guid(riid),hres);
+ FIXME("Unmarshalling interface %s failed with %lx\n",debugstr_guid(riid),hres);
return hres;
}
IStream_Release(pStm);
@@ -1145,7 +1145,7 @@ _get_funcdesc(
ITypeInfo_Release(tinfo2);
if (!hres) return S_OK;
}
- return E_FAIL;
+ return hres;
}
if (((*fdesc)->oVft/4) == iMethod) {
if (fname)
@@ -1374,6 +1374,7 @@ xCall(LPVOID retptr, int method, TMProxy
);
if (hres) {
FIXME("Failed to unmarshall param, hres %lx\n",hres);
+ status = hres;
break;
}
xargs += _argsize(elem->tdesc.vt);
More information about the wine-patches
mailing list