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