Huw Davies
16cc1858d0
ole: Initialize a few more funcdesc members in CreateDispTypeInfo.
2006-02-03 12:29:39 +01:00
Ulrich Czekalla
37f1d4cb54
oleaut32: Prevent freeing of random memory.
...
Don't assign type to variant until we're sure we are assigning a
value.
2006-02-02 13:18:43 +01:00
Robert Shearman
61708da1c8
oleaut: Dump the pointer for VT_ARRAY/VT_VECTOR typed variants.
2006-01-31 12:21:27 +01:00
Robert Shearman
be13d154c6
oleaut: Fix the order of parameters passed into DispCallFunc.
2006-01-30 14:55:57 +01:00
Alexandre Julliard
a76d5a10ed
oleaut32: Ignore new test ok file.
2006-01-27 15:47:57 +01:00
Robert Shearman
385e693e44
ole: Test and implement LPSAFEARRAY marshaling.
2006-01-27 12:54:22 +01:00
Robert Shearman
799ebfc499
oleaut: Improve the typelib marshaler traces.
...
Improve the typelib marshaler traces for lazy developers like me who
don't want to grep for constants.
2006-01-27 12:54:03 +01:00
Dmitry Timoshkov
57a579ffcd
Make more arrays const.
2006-01-24 14:00:32 +01:00
Michael Stefaniuc
ba23adba41
oleaut: Add missing SysFreeString to the Var{Mul,Add,Cmp} tests.
2006-01-18 11:30:23 +01:00
Michael Stefaniuc
0d00d9af0e
oleaut: Merge the VarCmp tests from vartype.c into vartest.c.
2006-01-18 11:30:01 +01:00
Robert Shearman
89846948e3
oleaut: Reduce an ERR down to a WARN since a NULL interface pointer
...
doesn't signify an error; it is just unusual.
2006-01-18 11:29:01 +01:00
Michael Stefaniuc
2f9c9b31ae
oleaut32: Tests for the VarCmp reimplementation.
2006-01-16 21:34:59 +01:00
Michael Stefaniuc
f73b68b016
oleaut32: Reimplement VarCmp().
...
- Supports now all WinXP allowed combinations of input variants.
- VT_RESERVED on input variants is handled now.
- Removed complicated VT_DATE comparision; that's not how Windows does it.
- Improved documentation.
2006-01-16 21:34:50 +01:00
Michael Stefaniuc
e47b813fc6
oleaut32: Define missing but useful VTBIT_* macros.
2006-01-16 21:32:24 +01:00
Robert Shearman
1f04fc6a49
oleaut: Handle a non-byref variant being passed for a byref param in
...
ITypeInfo::Invoke.
2006-01-16 20:44:13 +01:00
Robert Shearman
d86f8d2ef2
oleaut: Only allocate memory once for each array needed for the
...
arguments in ITypeInfo::Invoke.
2006-01-16 20:43:55 +01:00
Robert Shearman
0f8db3feca
oleaut: Simplify missing argument handling in ITypeInfo::Invoke.
...
Simplify missing argument handling by pre-allocating an array of the
maximum number of missing arguments there could be.
2006-01-16 20:43:20 +01:00
Robert Shearman
1616f81d00
oleaut: Add const attribute to iterators in get functions.
2006-01-14 17:48:12 +01:00
Robert Shearman
0b2c0d8365
oleaut: Initialise more fields in CreateDispTypeInfo.
...
Don't leave some of the fields of the TLBFuncDesc structure
uninitialised in CreateDispTypeInfo.
2006-01-14 17:47:36 +01:00
Robert Shearman
878af6661e
oleaut: Support VT_CY in the typelib marshaller.
2006-01-14 17:47:25 +01:00
Robert Shearman
9227902714
oleaut: Support conversion of VT_SAFEARRAY into VT_ARRAY|type.
...
Typelib variant types that cannot be converted should return
DISP_E_BADVARTYPE.
Don't call DispCallFunc if conversion of one of the arguments failed.
2006-01-12 11:53:47 +01:00
Marcus Meissner
cf173911a3
ole: ITypeInfo::Invoke stack overwrite fix.
...
Have enough stack space up to even VT_VARIANTs, fixes a stack
corruption.
2006-01-11 20:55:07 +01:00
Robert Shearman
d2bdbd4ea5
ole: Remove the no longer used _copy_arg function.
2006-01-06 21:16:21 +01:00
Robert Shearman
8cf5373f60
ole: ITypeInfo::Invoke rewrite.
...
Re-implement ITypeInfo::Invoke on top of DispCallFunc and
VariantChangeType instead of _invoke and _copy_arg.
2006-01-06 21:15:48 +01:00
Mike McCormack
98ed3fa553
oleaut32: Output a FIXME message only once.
2006-01-06 12:16:58 +01:00
Dan Kegel
d69366a171
oleaut32: Allow _invoke to handle up to 23 parameters.
2006-01-05 13:41:35 +01:00
Robert Shearman
83ff8560c3
ole: Store the result from _invoke in a VARIANTARG structure.
2006-01-05 12:18:54 +01:00
Mike McCormack
8193d97bfd
oleaut32: Allow _invoke to handle up to 17 parameters.
2006-01-03 12:11:44 +01:00
Robert Shearman
e6fa361967
oleaut: Small re-organisation of ITypeInfo::Invoke.
...
Only output the one function in the trace for ITypeInfo::Invoke.
Process the return value on output in ITypeInfo::Invoke, but only copy
it to pVarResult if pVarResult is not NULL.
2005-12-26 13:04:31 +01:00
Robert Shearman
6b97438011
oleaut32: Convert some tabs to spaces and some other formatting changes.
2005-12-26 13:04:02 +01:00
Robert Shearman
fa49c971f1
oleaut32: Initialize member IDs to MEMBERID_NIL inITypeInfo::GetIDsOfNames.
...
Better tracing.
2005-12-26 13:03:27 +01:00
Robert Shearman
088fc70ede
ole: Improve typelib traces.
...
Move the debug channel check from dump_TLBFuncDesc[One] to its callers
for more flexibility in which channel controls the output.
2005-12-26 13:02:47 +01:00
Robert Shearman
9f1c6bf6bc
OLE: Fix SafeArrayCopy for NULL pvData.
...
It is allowed to copy a SAFEARRAY with a NULL pvData, as long as
cbElements is non-zero. Add a test for this and fix the safe array
code.
2005-12-12 11:52:51 +01:00
Robert Shearman
69aa9f9d2e
OLE: Add const to several typelib functions.
...
Add const attributes to parameters for several functions and fix up
some formatting.
2005-12-12 11:52:23 +01:00
Robert Shearman
e7299cdf47
OleTranslateColor trace fix.
...
OleTranslateColor isn't a stub so don't print ":stub" in the trace
message.
2005-12-12 11:52:02 +01:00
Robert Shearman
a056a9a89c
OLE: Implement undocumented behaviour in DispCallFunc.
...
Fix DispCallFunc to work with MSDN-undocumented behaviour used by
Office 2003 and document the function.
2005-12-06 21:25:51 +01:00
Robert Shearman
1f68feeef1
OLE: Implement ITypeInfo_AddressOfMember.
2005-12-06 21:24:45 +01:00
Robert Shearman
b0d8e06caf
OLE: Fix brokenness in typelib marshaller caused by dispinterface retval fix.
...
Fix more fallout from dispinterface retval patch: make typelib
marshaler use the internal function description so that it calls
dispinterface functions with the correct number of parameters again.
Also fixes some memory leaks caused by the fact that a corresponding
ReleaseXDesc function has to be called for each GetXDesc.
2005-12-06 21:24:19 +01:00
Robert Shearman
36f112973e
OLE: Add tests for the typelib version of ITypeComp_Bind.
2005-12-06 21:23:19 +01:00
Robert Shearman
806cdce355
OLE: Update the type of the oVft parameter for DispCallFunc.
2005-12-06 21:23:09 +01:00
Robert Shearman
3dd7ba394c
OLE: ITypeInfo_Invoke parameter naming change.
...
Rename the dwFlags parameter of ITypeInfo_Invoke since it is not a
DWORD, but an unsigned short.
2005-12-06 10:57:45 +01:00
Michael Stefaniuc
8ec3906768
Fix VarBstrCmp for NULL input BSTRs (MSDN is wrong).
2005-12-05 12:00:24 +01:00
Robert Shearman
190d05f4db
OLE: Support HREFTYPEs For ITypeInfos
...
Add support for reading the hreftype of a typeinfo, return it to the
application in ITypeComp_Bind for the DESKIND_APPOBJECT case and
support referencing it in ITypeInfo_GetRefTypeInfo.
2005-12-03 18:20:27 +01:00
Robert Shearman
d8d1693def
OLE: fix function name loading
...
Correctly get the name of the second function of a propget/propput
pair in MSFT typelibs when the name offset is set to -1.
2005-12-03 18:20:03 +01:00
Robert Shearman
bd8fefd66b
OLE: fix invoking dispinterface functions
...
Fix invoking dispinterface functions by using the internal
representation of the function, not the one returned to applications.
2005-12-03 18:19:17 +01:00
Robert Shearman
d48f6f3682
OLE: Move the dispinterface return value handling to functions that
...
return the FUNCDESC to the user.
2005-12-03 18:10:30 +01:00
Robert Shearman
a61e4e802c
OLE: fix handling of INVOKE_PROPERTYGET flag in ITypeComp_fnBind.
...
The INVOKE_PROPERTYGET flag shouldn't affect binding to variables; it
should just affect which of a pair of [propget] and [propput]
functions should be returned.
2005-12-03 18:03:29 +01:00
Robert Shearman
cc9052c38e
Make dump functions const.
2005-12-01 12:55:31 +01:00
Robert Shearman
695556af16
Remove broken return value handling code and that would reference
...
memory beyond the end of the arguments array. Replace it with code
that properly handles referencing the return type and setting the
return type to VT_VOID when a dispinterface function doesn't have any
return value.
2005-12-01 12:48:56 +01:00
Robert Shearman
960aadaceb
Introduce a variable "elemdesc" to eliminate some long common
...
expressions.
Move the contents of the second arguments loop inside the first.
Move the MSFT_ReadLEDWords so that it is the last statement in the
loop since it is one of the iterators.
2005-12-01 12:34:39 +01:00