Robert Shearman
663fb8bd56
oleaut: The SLTG_MemberHeader and SLTG_TypeInfoTail structures are
...
common to all elements, so move the processing of these from the
individual element processing.
Improve SLTG alias processing.
2006-07-05 11:45:08 +02:00
Robert Shearman
283049b8fc
oleaut: Document some more members of SLTG_TypeInfoTail.
2006-07-05 11:44:33 +02:00
Robert Shearman
123592f0c3
oleaut32: Fix parsing of hex numbers with 'e' in the string by moving
...
the exponent parsing to after the hex digit parsing.
2006-07-03 11:33:23 +02:00
Paul Vriens
8f143f190c
Use the return value of register_key_guid.
2006-06-30 21:08:07 +02:00
Robert Shearman
2fa3cc03a5
oleaut32: Fix a typo where the FIXME doesn't match the code.
2006-06-30 20:43:56 +02:00
Robert Shearman
166a91b12d
oleaut32: RegisterTypeLib should register any interface that derives
...
from IDispatch rather than just dual interfaces.
This is hinted at, although not explicitly stated on MSDN, but was
verified by tests with native oleaut32.
2006-06-29 14:40:01 +02:00
Juan Lang
24dd931a56
oleaut32: Handle bstr length of -1 in typelibs.
2006-06-28 16:53:28 +02:00
Juan Lang
2a0c37d8b9
oleaut32: Correctly handle NULLs embedded in BSTRs, with tests.
2006-06-22 12:29:03 +02:00
Kevin Koltzau
0e8b75bb12
oleaut32: Fix 64bit warnings in tests.
2006-06-19 09:21:19 +02:00
Alexandre Julliard
fb5366c6c3
oleaut32: Use unsigned int instead of size_t to avoid printf format warnings.
2006-06-13 14:14:13 +02:00
Alexandre Julliard
cfc6c4891d
oleaut32: Make the virtual table functions static where possible.
2006-06-10 11:59:33 +02:00
Robert Shearman
70c34ccc47
oleaut32: We always pass in an IRpcChannelBuffer to IRpcStubBuffer::Invoke now,
...
so remove the case for it being NULL.
2006-06-09 21:11:32 +02:00
Alexandre Julliard
707060913c
oleaut32: Use the standard DEFINE_OLEGUID macro to define GUIDs.
2006-06-09 21:09:35 +02:00
qingdoa daoo
f80db874d4
oleaut32: Fix safearray data destruction.
2006-06-09 18:13:22 +02:00
Robert Shearman
b5bff92a0c
oleaut32: Uncomment a line to implement conversion from VT_DISPATCH to VT_BSTR.
2006-06-08 11:11:01 +02:00
Robert Shearman
e452b7a0b4
oleaut32: Handle BSTRs in VARIANT_CopyData.
2006-06-08 11:10:58 +02:00
qingdoa daoo
06fcfda9ff
oleaut32: safearray: Convert dimension index at the API boundary.
2006-06-06 12:04:43 +02:00
James Hawkins
585763ffa9
oleaut32: Only BYREF DispCallFunc args whose input args are not BYREF should be changed.
2006-06-06 11:46:14 +02:00
James Hawkins
0e5bd51d28
oleaut32: Copy BYREF args directly if they have the same variant type.
2006-06-06 11:46:03 +02:00
Robert Shearman
9c738061e0
oleaut32: Make sure to read the memid and the name offset from the
...
correct offsets, after the function data, so add cFuncs to the offsets
in MSFT_DoVars.
Resolve referenced types for variables.
Fixes initialisation of the dbgrid32 OCX.
2006-05-31 15:48:07 +02:00
Robert Shearman
983ad4accd
oleaut32: Resolve referenced types for return values as well as parameters in MSFT typelibs.
2006-05-31 15:47:55 +02:00
Alexandre Julliard
23f9e358ad
Tests should not use wine/unicode.h.
2006-05-24 18:05:09 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Huw Davies
3dce323d69
oleaut32: Update the marshal state buffer size when resizing (Doh!).
2006-05-15 14:25:59 +02:00
Jacek Caban
e8f4fff3ea
oleaut32: res50 is number of impinfos. Fix its usage.
2006-05-15 11:48:29 +02:00
Thomas Weidenmueller
05d629264c
oleaut32: Fix converting file name to Unicode.
...
Fix converting the typelib file name to Unicode by using the correct
buffer size.
2006-05-15 11:06:28 +02:00
Robert Shearman
74407105d2
Check the return value from register_key_guid in all the DLL registering code.
2006-05-10 19:38:04 +02:00
Huw Davies
40986cd729
oleaut32: Correctly handle the case when the number of bytes in a BSTR is odd.
2006-05-10 19:24:01 +02:00
Huw Davies
86d9457cdc
oleaut32: Support VT_SAFEARRAY in the typelib marshaler.
...
Based on a patch by Rob Shearman.
2006-05-10 19:23:43 +02:00
Huw Davies
d0bdf685f5
oleaut32: Add a function to grow the marshal state buffer to a specified size.
2006-05-10 19:23:29 +02:00
Huw Davies
df40c966a0
oleaut32: Preserve the 'auto' features before copying over the masked unmarshaled ones.
2006-05-08 21:18:32 +02:00
Huw Davies
c7bb8bd4fe
oleaut32: Implement GetVarDesc_Proxy and friends.
2006-05-08 14:50:42 +02:00
Huw Davies
9235ae2ecd
oleaut32: Change CLEANLOCALSTORAGE flag constants to their character
...
constant equivalents. It's now obvious why these were chosen. Should
be a NOP.
2006-05-08 14:50:34 +02:00
Huw Davies
3abd27c624
oleaut32: Fix VARIANT_UserFree.
2006-05-07 10:11:06 +02:00
Huw Davies
2898b5d9ad
oleaut32: Remove weird attempt to clear VT_VARIANT.
...
Add some tests.
2006-05-07 10:10:56 +02:00
Huw Davies
696f73a7f5
oleaut32: Rewrite VARIANT user marshaling.
2006-05-07 10:10:30 +02:00
Robert Shearman
6c6ce70260
oleaut32: Check the return value from VariantCopy when copying values
...
for VT_VARIANT typed parameters for ITypeInfo::Invoke.
2006-05-05 21:51:11 +02:00
Robert Shearman
5e8c877f96
oleaut32: Support values being passed into VT_VARIANT|VT_BYREF typed parameters in ITypeInfo::Invoke.
2006-05-05 21:50:58 +02:00
Huw Davies
17ec77f19e
oleaut32: Alignment fixes for safearrays.
2006-05-05 21:47:13 +02:00
Huw Davies
74b63d5e0d
oleaut32: Fix tests under win2k.
2006-05-05 21:47:02 +02:00
Huw Davies
747f08c8ae
oleaut32: Split out the SAFEARRAY and BSTR tests so that they can be used in the upcoming VARIANT tests.
2006-05-05 21:46:47 +02:00
Huw Davies
2e8a74d520
oleaut32: Fix BSTR marshaling to be wire compatible with Windows.
2006-05-05 21:46:32 +02:00
Huw Davies
e783531ec2
oleaut32: Implement GetDocumentation_Proxy/Stub.
2006-05-05 17:04:09 +02:00
Huw Davies
5e69b5d9ff
oleaut32: Implement GetFuncDesc_Proxy and friends.
2006-05-05 17:03:52 +02:00
Huw Davies
32a626fdbd
oleaut32: Implement GetTypeAttr_Proxy and friends.
2006-05-05 16:56:01 +02:00
Huw Davies
195ae60e97
oleaut32: Implement CLEANLOCALSTORAGE marshalling and fix GetLibAttr to use it.
...
Based on some documentation by Rob Shearman.
2006-04-19 19:17:49 +02:00
Robert Shearman
50a9c208c6
oleaut32: Fix differences between the size returned in sizing the
...
buffer for interfaces and the buffer actually used.
2006-04-18 16:49:01 +02:00
Robert Shearman
a963fd6285
oleaut32: Initialise BSTR pointer to NULL in VARIANT_UserUnmarshal.
...
Initialise BSTR pointer to NULL before calling BSTR_UserUnmarshal,
otherwise BSTR_UserUnmarshal will try to use the memory in the
pointer.
2006-04-18 16:48:48 +02:00
Antonio Codazzi
135ca99f88
oleaut32: Added Esperanto language.
2006-04-11 11:27:47 +02:00
Robert Shearman
cca69647a3
oleaut32: Fix typo in LPSAFEARRAY_Unmarshal.
...
Fix typo in LPSAFEARRAY_Unmarshal where the check for the failure of
the SafeArrayCreateEx call was missing a dereference operator (found
by Coverity).
2006-04-07 13:09:23 +02:00
Robert Shearman
f74dfe3182
oleaut32: Remove deadcode in SafeArrayPutElement.
...
Remove deadcode in SafeArrayPutElement, as lpBstr cannot be NULL
because of the check at the top of the function on pvData (found by
Coverity).
2006-04-07 13:09:08 +02:00
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