Commit Graph

1162 Commits

Author SHA1 Message Date
Huw Davies 3c8534f013 oleaut32: Implement marshaling of VT_BYREF interfaces. 2007-06-25 11:34:33 +02:00
Huw Davies 17fca45d41 oleaut32: Interfaces that derive from IDispatch should be marshaled as VT_DISPATCH. 2007-06-25 11:34:23 +02:00
Michael Stefaniuc 34b45b311e oleaut32: Do not use wide character constants. 2007-06-22 12:18:50 +02:00
Misha Koshelev 428ed94fa9 oleaut32: Add support for vararg functions in ITypeInfo::Invoke. 2007-06-07 13:00:09 +02:00
Misha Koshelev 127385e718 oleaut32/tests: Add tests for IDispatch::Invoke of vararg function. 2007-06-07 13:00:09 +02:00
Andrew Talbot 1ab9649079 oleaut32: Fix some typos. 2007-06-06 14:07:28 +02:00
Huw Davies e848f6d539 oleaut32: Fixes for the PICTYPE_UNINITIALIZED case. 2007-06-06 12:09:48 +02:00
Alex Villacís Lasso 38079e0744 oleaut32: Support for VT_DISPATCH in VarRound. 2007-06-05 12:20:46 +02:00
Alex Villacís Lasso 7f84b91bff oleaut32: Support for VT_DISPATCH in VarNeg. 2007-06-05 12:20:37 +02:00
Alex Villacís Lasso f1b44b36e4 oleaut32: Support for VT_DISPATCH in VarInt. 2007-06-05 12:20:28 +02:00
Alex Villacís Lasso bd7de42787 oleaut32: Support for VT_DISPATCH in VarFix. 2007-06-05 12:20:18 +02:00
Alex Villacís Lasso 2ebe12397f oleaut32: Support for VT_DISPATCH in VarNot. 2007-06-05 12:20:08 +02:00
Alex Villacís Lasso 932fcac150 oleaut32: Support for VT_DISPATCH in VarAbs. 2007-06-05 12:19:31 +02:00
Francois Gouget cb029e0b30 oleaut32/tests: Improve vtstr() and variantstr().
- Use a CASE() macro to simplify the vtstr() code and eliminate hard-coded variant type values.
- Update the list of known variant types.
- If a variant type is unknown, print its numerical value.
- In variantstr(), hand off all the standard cases to vtstr(), instead of (partially) duplicating its code.
2007-06-01 12:40:26 +02:00
Francois Gouget d252693a04 oleaut32/tests: Convert some macros to functions. 2007-05-31 14:18:26 +02:00
Francois Gouget fbb892c604 oleaut32/tests: Fix the EQ_DOUBLE() and EQ_FLOAT() macros so they work no matter how large the values to compare are.
Use them everywhere.
2007-05-31 14:18:20 +02:00
Francois Gouget 82a7753058 oleaut32/tests: Remove unneeded parentheses. 2007-05-31 14:18:07 +02:00
Francois Gouget c2d24fdba9 oleaut32/tests: Remove redundant semi-colons. 2007-05-31 14:17:59 +02:00
Rob Shearman e98ec6db4c oleaut32: Fix the references in function descriptions returned for dual IDispatch interfaces.
Do this by changing references from other interfaces (and possibly other 
typelibs) to uniquely identify them.

Add special handling to GetRefTypeInfo to cope with this.
2007-05-30 11:51:54 +02:00
Rob Shearman bacf5c640f oleaut32: For automatic-value-getting in ITypeInfo::Invoke, it doesn't matter what flag(s) the function was executed with, just what type of function is being invoked. 2007-05-30 11:51:37 +02:00
Francois Gouget fa48cb042c Assorted spelling fixes. 2007-05-29 13:47:18 +02:00
Francois Gouget ffbf92f5f2 oleaut32/tests: Fix the Visual C++ double to float conversion warnings. 2007-05-29 13:47:09 +02:00
Dmitry Timoshkov 8bf41d88c8 oleaut32: Add support for loading and drawing metafiles. 2007-05-29 11:56:18 +02:00
Huw Davies cd3df383a5 oleaut32: SLTG references are only unique at the typeinfo level, so convert them to be unique to the typelib. 2007-05-25 19:37:12 +02:00
Marcus Meissner 46d94653f1 oleau32: Fix one entry overflow (Coverity). 2007-05-23 12:51:33 +02:00
Huw Davies c1e89400aa oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents. 2007-05-18 19:59:35 +02:00
Huw Davies b698b2909b oleaut32: Fix CreateDispTypeInfo to store the correct number of functions. 2007-05-18 19:59:29 +02:00
Huw Davies c24a53dc28 oleaut32: non-dual dispinterfaces should be marshaled via IDispatch. 2007-05-18 19:59:21 +02:00
Huw Davies f1da672df3 oleaut32: Move the proxy thunk creation code to a separate function. 2007-05-18 19:59:12 +02:00
Huw Davies 117f21de45 oleaut32: Test for interface that derives from IUnknown. 2007-05-18 19:57:53 +02:00
Huw Davies 04a76cf561 oleaut32: Tests for more 'syntax 2' dispinterfaces. 2007-05-18 19:57:46 +02:00
Huw Davies 78bf6946ba oleaut32: GetRefTypeOfImplType(0) on TKIND_DISPATCH typeinfos should always return an href to IDispatch. 2007-05-18 19:57:34 +02:00
Huw Davies 356970e529 oleaut32: Fix return value in the element not found case. 2007-05-18 19:57:25 +02:00
Huw Davies a3b8be05b7 oleaut32: Typelib inheritance tests. 2007-05-18 19:57:18 +02:00
Juan Lang 37386dba7a oleaut32: Don't mix allocation routines. 2007-05-18 14:11:17 +02:00
Huw Davies 9afcaf2ae1 oleaut32: Type references are global to the typelib. 2007-05-17 12:44:44 +02:00
Andrew Talbot 048a5d6fc5 oleaut32: Exclude unused headers. 2007-05-16 11:55:58 +02:00
Bill Medland 804d0139b7 oleaut32/tests: Some boundary tests on VarBstrFromDate. 2007-05-04 13:39:22 +02:00
Huw Davies c4c5d64ccf oleaut32: Remove useless initialization of an [out] parameter. 2007-04-30 12:19:17 +02:00
Huw Davies 294b3ebba1 oleaut32: Rewrite get_funcdesc to avoid using the funcdesc's oVft member so that it works correctly for non-dual dispinterfaces. 2007-04-26 16:42:26 +02:00
Huw Davies b8a50daec7 oleaut32: Don't try to free the typeinfo if get_funcdesc fails. 2007-04-26 16:42:22 +02:00
Andrew Talbot 321c21c5c8 oleaut32: Remove superfluous semicolons. 2007-04-13 12:58:58 +02:00
Francois Gouget 1f692cdcaa oleaut32/tests: Fix compilation on systems that don't support nameless structs or unions. 2007-04-11 12:54:30 +02:00
Rob Shearman 15a1723c1a ole32: In 16-bit OLE, LPOLESTR uses multibyte, not Unicode characters so make LoadTypeLib16 take an LPSTR instead of LPOLESTR. 2007-04-04 21:28:41 +02:00
Jason Edmeades 94b9b6146d oleaut32: Convert to VT_DECIMAL fails with overflow (with test). 2007-04-03 11:32:57 +02:00
Paul Vriens 03d637a305 oleaut32/tests: Use skip. 2007-03-26 12:20:58 +02:00
Andrew Talbot cae5c216a5 oleaut32: Replace inline static with static inline. 2007-03-23 12:29:49 +01:00
Rob Shearman bb08a58965 oleaut32: Clear the input pvar structure in VARIANT_UserUnmarshal to free the data instead of just initializing. 2007-03-20 12:57:42 +01:00
Rob Shearman 3ad77d29ca oleaut32: Make the VARIANT_UserUnmarshal tests work on XP. 2007-03-20 12:56:52 +01:00
Rob Shearman 35772a70d3 oleaut32: Add some tests for user marshaling a VT_UNKNOWN variant. 2007-03-20 12:56:45 +01:00
Jan Zerebecki 1e176b4739 oleaut32: Add DebugInfo to critical sections. 2007-03-12 13:39:07 +01:00
Stefan Huehner 51a7ca3440 Change some functions arguments from () -> (void). 2007-03-12 12:25:31 +01:00
Rob Shearman 5edc7fd5ef oleaut32: TKIND_COCLASS parameters to Invoke'd functions should be converted into VT_DISPATCH instead of VT_UNKNOWN.
Add a test for this.
2007-03-08 13:50:45 +01:00
Huw Davies d5664881e5 oleaut32: Fix a TypeAttr leak. 2007-02-21 19:48:33 +01:00
Rob Shearman e79b8b8fcd oleaut32: Re-arrange the position of functions and vtables in olefont.c to avoid forward-declarations. 2007-02-20 20:23:30 +01:00
Rob Shearman 4c40b3974c oleaut32: Fix IFont::AddRefHFont and IFont::ReleaseRefHFont.
The tests show that there is a global cache that keeps references to 
HFONTs that is released when all IFont objects are released.
(Based on a patch by Benjamin Arai.)
2007-02-20 20:23:24 +01:00
Francois Gouget 536e738552 Assorted spelling fixes. 2007-02-14 21:03:57 +01:00
Alexandre Julliard 1df72cc794 Make.rules: Automatically generate the header for all types of idl sources. 2007-02-09 14:32:57 +01:00
Rob Shearman 30b6f9acd6 oleaut32: Fix the return value of ITypeInfo::Invoke when the property-put named argument isn't DISPID_PROPERTYPUT. 2007-02-08 12:59:36 +01:00
Rob Shearman a3235dd1d4 oleaut32: Implement automatic value getting in ITypeInfo::Invoke.
If an IDispatch object is returned from in the retval for a propget 
function and an extra parameter was passed in to ITypeInfo::Invoke then 
it should call IDispatch::Invoke on the returned object with the extra 
parameter to retrieve the value of the object, which is then returned in 
pVarResult.
2007-02-08 12:59:32 +01:00
Rob Shearman 8b43f8bec9 oleaut32: Fix the IDL for the "Value" method in the tmarshal tests. 2007-02-08 12:59:26 +01:00
Rob Shearman d794398e73 oleaut32: Comment out "dual" attribute of IKindaEnumWidget in tmarshal test to cause the interface to be marshaled correctly.
This fixes a bunch of tmarshal tests.
2007-02-08 12:59:23 +01:00
Rob Shearman d2a38cef99 oleaut32: Always register the typelib for the tmarshal tests. 2007-02-08 12:58:35 +01:00
Rob Shearman 7574fede93 oleaut32: Fix a one-off test failure in the tmarshal tests - TYPE_E_LIBNOTREGISTERED is an expected return value. 2007-02-07 21:45:12 +01:00
Rob Shearman 0f45b2badf oleaut32: A value of PARAMFLAG_FNONE for wParamFlags means that the parameter is also marshaled and unmarshaled in the PARAMFLAG_FOUT case. 2007-02-07 21:45:06 +01:00
Rob Shearman e88d033044 oleaut32: Ignore the first named argument when invoking property-put methods
as it is mandatory and doesn't indicate that the arguments will be
passed in as named ones.
2007-02-06 22:06:16 +01:00
Rob Shearman 21140a9a53 oleaut32: Add support for named arguments in ITypeInfo::Invoke. 2007-02-06 22:05:59 +01:00
Rob Shearman 702e2c6dc2 oleaut32: Copy the value directly returned from the called function
if it is not an HRESULT value, instead of getting it from a [retval]
attribute.
2007-02-06 22:05:50 +01:00
Rob Shearman 8f38cd8c8c oleaut32: Fix the missing argument handling for non-byref variant arguments. 2007-02-06 21:36:34 +01:00
Rob Shearman e2108feec4 oleaut32: If an error info object was created when the invoked method failed then fill in exception info from the error info object. 2007-02-06 21:36:13 +01:00
Rob Shearman 30f2b444c6 oleaut32: Add a wrapper around the channel supplied to the IDispatch proxy
to fixup the IID used to connect to the server and fix somewhat common
"err:rpc:RPCRT4_OpenBinding" messages.
2007-02-06 21:32:11 +01:00
Huw Davies a09cd1b88a oleaut32: Call SearchPath before LoadLibrary so that we get the full path of native exes and dlls.
For builtin dlls prepend the system directory.
2007-02-06 20:23:16 +01:00
Huw Davies 2dd3aa6293 oleaut32: Fix marshaling of VARTYPE-less safearrays. 2007-02-05 12:26:14 +01:00
Huw Davies a59e4899f5 oleaut32: The typelib version numbers should be written to the registry in hex. 2007-01-25 11:05:46 +01:00
Paul Vriens 1d6132bed6 oleaut32/tests: Cast-qual warning fixes. 2007-01-24 11:59:15 +01:00
Alexandre Julliard d857d0f767 oleaut32/tests: Fix the FSF address. 2007-01-23 14:01:11 +01:00
Alexandre Julliard aa9dcb4201 oleaut32/tests: Add tmarshal test. 2007-01-23 12:43:53 +01:00
Francois Gouget 7f05a94f50 oleaut32/tests: Fix compilation on systems that don't support nameless structs (e.g. gcc 2.95). 2007-01-23 11:26:39 +01:00
Andrew Talbot d6fc116475 oleaut32: Declare some items static. 2007-01-22 12:08:55 +01:00
James Hawkins c8eb807639 oleaut32: Initialize nrofnames to keep from freeing unused memory in the error case. 2007-01-16 16:54:14 +01:00
Andrew Talbot 26af24c905 oleaut32: Remove unused items. 2007-01-16 11:19:09 +01:00
Alexandre Julliard 25571d8789 oleaut32/tests: Replace some macros by functions to reduce code size and compile time. 2007-01-15 13:01:42 +01:00
Paul Vriens 23bbca535f oleaut32/tests: Cast-qual warnings fixes. 2007-01-12 20:41:10 +01:00
Francois Gouget 3dd1a8b4f1 oleaut32/tests: Replace some '#if 0's with 'if (0)'s. 2007-01-08 12:07:45 +01:00
Francois Gouget ac25a3f93d oleaut32/tests: Fix compilation on systems with no nameless unions (e.g. gcc 2.95). 2007-01-08 12:07:37 +01:00
Bernard Ladenthin 26f29fdad0 oleaut32: Better OleIconToCursor stub. 2007-01-03 12:07:41 +01:00
Alex Villacís Lasso 1c85155eaa oleaut32: Support for VT_DISPATCH in VarImp. 2007-01-03 11:49:16 +01:00
Alex Villacís Lasso e02b224d57 oleaut32: Support for VT_DISPATCH in VarPow. 2007-01-03 11:48:47 +01:00
Alex Villacís Lasso 90844e2067 oleaut32: Support for VT_DISPATCH in VarMod. 2007-01-03 11:48:13 +01:00
Alex Villacís Lasso cdceb02319 oleaut32: Support for VT_DISPATCH in VarIdiv. 2007-01-03 11:44:42 +01:00
Alex Villacís Lasso 5aacee9550 oleaut32: Support for VT_DISPATCH in VarXor. 2007-01-03 11:44:03 +01:00
Alex Villacís Lasso e98a49dee4 oleaut32: Support for VT_DISPATCH in VarOr. 2007-01-03 11:43:29 +01:00
Alex Villacís Lasso a5e3a999ea oleaut32: Support for VT_DISPATCH in VarSub. 2007-01-03 11:42:33 +01:00
Alex Villacís Lasso 67c9b7cbb8 oleaut32: Support for VT_DISPATCH in VarDiv. 2007-01-03 11:41:46 +01:00
Alex Villacís Lasso 01395dec51 oleaut32: Support for VT_DISPATCH in VarMul. 2007-01-03 11:40:11 +01:00
Alex Villacís Lasso 308a0b2e18 oleaut32: Support for VT_DISPATCH in VarAdd. 2007-01-03 11:39:11 +01:00
Alex Villacís Lasso 97d13c552c oleaut32: Support for VT_DISPATCH in VarAnd. 2007-01-03 11:37:31 +01:00
Alex Villacís Lasso 4245cbb31c oleaut32: Add wrapper for dereferencing a VARIANT of type VT_DISPATCH and returning the VARIANT value. 2007-01-03 11:35:37 +01:00
Rob Shearman ecfe54df46 oleaut32: Fix _nroffuncs to return the correct number of functions by taking into account inherited interfaces. 2007-01-02 20:49:01 +01:00
Rob Shearman 72a84fbf06 oleaut32: SafeArrayAllocData should succeed when cbElements is 0. 2006-12-28 12:17:11 +01:00