Robert Shearman
1ce38682fb
oleaut32: Fix returning Typelib file name.
...
We can't use GetModuleFileName on a resource-only module, so the best
we can do is to copy the original name we used to find the type
library. Fix a couple of places where we were incorrectly using the
file name, rather than the path.
2006-02-14 11:33:40 +01:00
Robert Shearman
1891e137da
oleaut32: Free the connection points on destruction of the font object.
...
Free the connection points on destruction of the font object and cope
with failure of CreateConnectionPoint on construction.
2006-02-14 11:33:18 +01:00
Robert Shearman
9030ff2c13
oleaut32: Don't try to release NULL COM objects in the typelib
...
marshaler.
2006-02-14 11:33:03 +01:00
Robert Shearman
792d89f53a
oleaut32: Fix flag comparison in Picture Invoke.
...
One or more invoke flags can be passed into IDispatch::Invoke, but we
only care if INVOKEFLAG_PROPERTYGET is specified, and don't about any
others.
2006-02-14 11:32:53 +01:00
Francois Gouget
90aaf6ba8f
include: Add missing LANG_xxx and SUBLANG_xxx constants.
2006-02-14 10:42:12 +01:00
Robert Shearman
98fd1c5678
Return the correct error code from IConnectionPointContainer::FindConnectionPoint.
2006-02-10 14:51:30 +01:00
Robert Shearman
f4acfe9a53
oleaut: Partially implement Invoke on the standard picture implementation.
2006-02-10 14:51:03 +01:00
Robert Shearman
265f042801
oleaut: Fix importing the IDispatch interface for TKIND_DISPATCH type infos.
...
Fix importing the IDispatch interface for TKIND_DISPATCH type infos
when the offset isn't specified. It should be fetched from the
dispatch offset stored in the header, rather than using a hack that
doesn't work.
2006-02-10 14:50:53 +01:00
Robert Shearman
bcac0cd5d5
oleaut: Add tests for IFontEventsDisp.
2006-02-10 14:50:40 +01:00
Robert Shearman
d49e808be0
oleaut: Implement IFontEventsDisp connection point for the standard
...
font implementation.
2006-02-10 14:50:26 +01:00
Robert Shearman
a633e22bdd
oleaut: Make TLB_ReadTypeLib not rely on the signature of executables or dlls.
...
Try loading the dll first and then fall back to the regular file case.
Only call SearchPath for the regular file case since LoadLibraryEx
will do this for us and it previously excluded builtin dlls and
executables from having their type libraries opened.
2006-02-09 12:11:54 +01:00
Robert Shearman
19b6046e21
oleaut: Move the call to SearchPath inside of TLB_ReadTypeLib.
2006-02-09 12:11:01 +01:00
Robert Shearman
00ecbd05e8
oleaut: Revert incorrect patch changing the order of parameters passed
...
into DispCallFunc. A test with native indeed shows that the parameter
index increases from the leftmost parameter to the rightmost.
2006-02-09 12:10:26 +01:00
Robert Shearman
b0218db90a
oleaut32: Fix circular reference count in Typelib marshaler.
...
The current method of handling typelib-marshaled interfaces that derive
from IDispatch is to query for an IDispatch pointer from the proxy, but
this causes a circular reference count.
Fix the reference counting by loading using the IRpcProxyBuffer of
IDispatch without an outer unknown, so that the lifetime is controlled
by the typelib-marshaled interface's proxy. The IDispatch proxy now
shares the same channel as the typelib-marshaled interface, so fix up
the stub side to handle this.
2006-02-07 16:26:23 +01:00
Robert Shearman
fd81d9c56e
oleaut32: Handle VT_INT in serialize_param and deserialize_param.
2006-02-07 16:26:02 +01:00
Robert Shearman
ec5d73910c
oleaut32: Release interfaces when told to.
...
Make the VT_DISPATCH and VT_UNKNOWN cases of serialize_param match the
TKIND_INTERFACE case below by releasing their respective interfaces as
necessary.
2006-02-07 16:25:42 +01:00
Francois Gouget
379b62c04e
Assorted spelling fixes.
2006-02-06 20:58:36 +01:00
Huw Davies
7000aca824
oleaut32: Fixes and tests for CreateDispTypeInfo.
...
CreateDispTypeInfo returns the typeinfo of a coclass which implements
the described interface.
2006-02-06 20:57:09 +01:00
Fatih Aşıcı
b1a67bba3a
oleaut32: Turkish translation.
2006-02-06 13:05:30 +01:00
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