Commit Graph

803 Commits

Author SHA1 Message Date
Mike McCormack e0276035a4 oleaut32: Remove unnecessary check for NULL. 2006-04-07 11:46:04 +02:00
Robert Shearman 22e7eeb2a3 oleaut32: Add IPersist to QueryInterface. 2006-03-30 12:43:52 +02:00
Robert Shearman 11c83c5d5e oleaut32: Zero out parameter in LoadRegTypeLib in case of failure. 2006-03-30 12:43:38 +02:00
Robert Shearman aa2214626e oleaut32: Replace memcmp with IsEqualIID macro.
Replace memcmp with IsEqualIID macro that doesn't require a size
parameter and remove the unneeded brackets to give more compact and
more readable code.
2006-03-30 12:43:33 +02:00
Francois Gouget 6bddeb1cf7 Assorted spelling fixes. 2006-03-21 20:10:39 +01:00
Robert Shearman 4b19449b6b oleaut: ITypeInfo::GetIDsOfNames should search inherited interfaces
regardless of what type they are.

Add a test for this and dump type infos created with CreateDispTypeInfo.
2006-03-21 20:02:11 +01:00
Robert Shearman 264b122d52 oleaut: Better support for invoking methods with VT_VARIANT argument types. 2006-03-21 16:19:06 +01:00
Francois Gouget 74b6aba216 oleaut32: Reorder a few functions to avoid forward declaractions. 2006-03-09 12:51:42 +01:00
Robert Shearman b3a8a3d559 oleaut: Implement VarBstrFromDisp. 2006-03-06 11:10:26 +01:00
Robert Shearman 93acfeb7f0 oleaut: Fix VarFormat for VT_NULL variants. 2006-03-06 11:09:54 +01:00
Robert Shearman e5b2c14665 oleaut: Add some more VarFormat tests and fix the VarMod decimal test. 2006-03-06 11:08:32 +01:00
Robert Shearman 08764dde8a oleaut: Split OLEPictureImpl_Load.
Split OLEPictureImpl_Load into separate functions for the different file
types.
2006-03-06 11:08:19 +01:00
Robert Shearman 269909f53e oleaut: Use IsEqualIID in connpt.c instead of memcmp for comparing IIDs. 2006-03-01 19:54:09 +01:00
Robert Shearman 7fbca4c111 oleaut: Fix standard font cloning.
Create new empty connection points on clone of the standard Font
(based on a patch by Alex Villacís Lasso).
2006-02-24 11:23:03 +01:00
Robert Shearman 6ad326a607 oleaut: Test some error conditions in ITypeInfo::GetIDsOfNames and ITypeInfo::Invoke. 2006-02-16 19:33:08 +01:00
Robert Shearman d16c0dc6ce oleaut32: Free connection point on destruction of the picture object.
Handle failure of CreateConnectionPoint on construction.
2006-02-14 11:34:00 +01:00
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