From cc86f6890fd01f6843d7a7b5ecce3ed2f0b08857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20Zalewski?= Date: Fri, 12 Sep 2008 22:04:00 +0200 Subject: [PATCH] oleaut32: Add some missing simple types to _argsize and _xsize. --- dlls/oleaut32/tmarshal.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/dlls/oleaut32/tmarshal.c b/dlls/oleaut32/tmarshal.c index 9f26a300eeb..0123e52eb38 100644 --- a/dlls/oleaut32/tmarshal.c +++ b/dlls/oleaut32/tmarshal.c @@ -511,6 +511,7 @@ static const IRpcProxyBufferVtbl tmproxyvtable = { static int _argsize(TYPEDESC *tdesc, ITypeInfo *tinfo) { switch (tdesc->vt) { + case VT_I8: case VT_UI8: return 8/sizeof(DWORD); case VT_R8: @@ -519,6 +520,8 @@ _argsize(TYPEDESC *tdesc, ITypeInfo *tinfo) { return sizeof(CY)/sizeof(DWORD); case VT_DATE: return sizeof(DATE)/sizeof(DWORD); + case VT_DECIMAL: + return (sizeof(DECIMAL)+3)/sizeof(DWORD); case VT_VARIANT: return (sizeof(VARIANT)+3)/sizeof(DWORD); default: @@ -532,8 +535,11 @@ _xsize(const TYPEDESC *td, ITypeInfo *tinfo) { switch (td->vt) { case VT_DATE: return sizeof(DATE); + case VT_CY: + return sizeof(CY); + /* FIXME: VT_BOOL should return 2? */ case VT_VARIANT: - return sizeof(VARIANT)+3; + return sizeof(VARIANT)+3; /* FIXME: why the +3? */ case VT_CARRAY: { int i, arrsize = 1; const ARRAYDESC *adesc = td->u.lpadesc; @@ -544,6 +550,7 @@ _xsize(const TYPEDESC *td, ITypeInfo *tinfo) { } case VT_UI8: case VT_I8: + case VT_R8: return 8; case VT_UI2: case VT_I2: