Commit Graph

1147 Commits

Author SHA1 Message Date
Michael Stefaniuc
85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Robert Shearman
cc21d23539 oleaut32: Make sure to free the allocated vtable when the tmarshal proxy is released. 2006-09-28 11:56:00 +02:00
Andrew Talbot
0e9c97eba3 oleaut32: Cast-qual warnings fix. 2006-09-25 18:15:39 +02:00
Benjamin Arai
8d921f1d3c oleaut32: Conformance test for function variant:VarImp. 2006-09-21 11:25:45 +02:00
Benjamin Arai
4cb6c9184b oleaut32: Implementation for function variant:VarImp. 2006-09-21 11:25:41 +02:00
Alexandre Julliard
32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +02:00
Dan Hipschman
b6e6d4b511 oleaut32: Replace a loop with a simple computation. 2006-09-12 11:01:17 +02:00
Benjamin Arai
7e1f392a27 oleaut32: Conformance test for function variant:VarIdiv. 2006-09-12 10:53:56 +02:00
Benjamin Arai
ed64999180 oleaut32: Fixes for function variant:VarIdiv. 2006-09-12 10:53:49 +02:00
Benjamin Arai
a4ec2721a4 oleaut32: Conformance test for function variant:VarDiv. 2006-09-12 10:53:14 +02:00
Benjamin Arai
aaca30cf03 oleaut32: Fixes for function variant:VarDiv. 2006-09-12 10:53:08 +02:00
Mike McCormack
7aa893481e oleaut32: Include minimal ungif source to remove dependency on libungif. 2006-09-08 16:06:33 +02:00
Benjamin Arai
aee8a62136 oleaut32: Conformance test for function variant:VarPow. 2006-09-08 12:55:05 +02:00
Benjamin Arai
fbf9cba683 oleaut32: Fixes for function variant:VarPow. 2006-09-08 12:54:59 +02:00
Benjamin Arai
9e3e591bf2 oleaut32: Conformance test for function variant:VarAnd. 2006-09-08 12:52:22 +02:00
Benjamin Arai
3abb454c70 oleaut32: Fixes for function variant:VarAnd. 2006-09-08 12:52:14 +02:00
Francois Gouget
3eda8da2bd oleaut32: Fix spelling of VARIANT_NUMBER_CHARS's separator fields. 2006-09-08 11:03:00 +02:00
Robert Shearman
4d0b1e3d07 oleaut32: Delay the creation of the stub object for IDispatch until it is actually used. 2006-09-07 10:16:55 +02:00
Robert Shearman
b7e88d8f8b oleaut32: Fix a leak of the module reference count. 2006-09-07 10:16:47 +02:00
Alexandre Julliard
5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Benjamin Arai
6aaf2af5c0 oleaut32: Updated conformance test return string for VT_RESERVED. 2006-08-24 11:51:58 +02:00
Benjamin Arai
d1282dce88 oleaut32: Add support for handling TKIND_COCLASS in userdefined_to_variantvt. 2006-08-22 12:00:01 +02:00
Stefan Leichter
220547708a oleaut32: Print 64bit integers with wine_dbgstr_longlong. 2006-08-22 11:59:38 +02:00
Mike McCormack
9c5c063ebf oleaut32: Put the HeapFree back in the right place. 2006-08-14 20:17:10 +02:00
Benjamin Arai
bf6867024c oleaut32: Conformance test for olefont:AddRefHfont. 2006-08-14 11:48:03 +02:00
Benjamin Arai
c4ba8a8c87 oleaut32: Conformance test for olefont:ReleaseHfont. 2006-08-14 11:47:55 +02:00
Mike McCormack
eb9f46037c oleaut32: Calculate icon data if the picture is dirty, or there's no icon data. 2006-08-14 11:47:48 +02:00
Mike McCormack
cbfc35602e oleaut32: Print an IID in the trace, not just a pointer to it. 2006-08-14 11:46:50 +02:00
Mike McCormack
bcb3e28e2b oleaut32: Don't complain when PICTDESC->cbSizeofstruct is 0. 2006-08-14 11:46:45 +02:00
Benjamin Arai
0b44e9a641 oleaut32: Added test to check if olefont:IFont_QueryInterface increments ref counter. 2006-08-12 11:40:12 +02:00
Benjamin Arai
3dade1e7de oleaut32: Removes stub message from olefont:OLEFontImpl_FindConnectionPoint. 2006-08-11 11:57:01 +02:00
Francois Gouget
aab7d2e78a oleaut32: Set some missing ProxyStubClsid fields. 2006-08-08 11:15:38 +02:00
Tijl Coosemans
48e1faff1e oleaut32/tests: Test relative error, not absolute. 2006-08-07 13:11:48 +02:00
Benjamin Arai
0227b8cba2 oleaut32: Removes extra string allocation for varformat:VarMonthName. 2006-08-04 12:04:19 +02:00
Stefan Siebert
9776f5b83f oleaut32: GetTypeInfoType - Return TYPE_E_ELEMENTNOTFOUND if index out of bounds. 2006-08-03 19:56:22 +02:00
Benjamin Arai
be37e95105 oleaut32: Implement function olefont:OLEFontImpl_IsEqual. 2006-08-03 18:22:03 +02:00
Benjamin Arai
41641554f4 oleaut32: Conformance test for olefont:OLEFontImpl_IsEqual. 2006-08-03 18:20:54 +02:00
Robert Shearman
40556ae08f oleaut32: Improve dump_DispParms. 2006-07-31 21:27:29 +02:00
Robert Shearman
33582cc69e oleaut32: Add some validation for the DISPPARAMS structure in ITypeInfo::Invoke. 2006-07-31 21:25:44 +02:00
Benjamin Arai
63c26dac23 oleaut32: Move varformat conformance tests to new file varformat.c 2006-07-31 11:21:45 +02:00
Benjamin Arai
0eed4603c5 oleaut32: VarMonthName - Update error codes and helper functions. 2006-07-28 12:56:45 +02:00
Benjamin Arai
f10ed1f16e oleaut32: VarSub: Conformance test. 2006-07-28 12:56:45 +02:00
Benjamin Arai
9634ffa7dc oleaut32: VarSub: Fixes several data types and corrects error codes. 2006-07-28 12:56:45 +02:00
Robert Shearman
d82d374430 oleaut32: Implement GetTypeInfoCount and GetTypeInfo for standard pictures. 2006-07-28 12:56:45 +02:00
Robert Shearman
3435560317 oleaut32: Implement GetTypeInfoCount for standard fonts. 2006-07-28 12:56:45 +02:00
Robert Shearman
9648b824a1 oleaut32: Implement setting of the hPal property in IPictureDisp::Invoke.
Remove some validation code that is already handled by a more generic
case at the end of the function.
2006-07-28 12:56:45 +02:00
Robert Shearman
e0e7d96ee6 oleaut32: Implement getting of all properties in IPictureDisp::Invoke. 2006-07-28 12:56:45 +02:00
Robert Shearman
9985f50389 oleaut32: Add a test for passing an invalid number of input parameters into IFontDisp::Invoke with DISPATCH_PROPERTYGET. 2006-07-28 12:56:45 +02:00
Robert Shearman
25aff05e4a oleaut32: Add validation for parameters in IPictureDisp::Invoke.
Add some tests for IPictureDisp::Invoke.
2006-07-28 12:56:44 +02:00
Robert Shearman
18732f85f9 oleaut32: Fix the return code for an invalid dispid in IFontDisp::Invoke. 2006-07-28 12:56:44 +02:00
Robert Shearman
fd48f795ff oleaut32: Add a successful test for IFontDisp::Invoke. 2006-07-28 12:56:44 +02:00
Robert Shearman
c2afb5cbfb oleaut32: Handle the Weight property in IFontDisp::Invoke. 2006-07-28 12:56:44 +02:00
Alexandre Julliard
06fbe6012f oleaut32: Fixed compiler warning. 2006-07-27 12:03:33 +02:00
Robert Shearman
bbdcccd3b7 oleaut32: Add validation of some more parameters in IFontDisp::Invoke. 2006-07-27 11:42:39 +02:00
Robert Shearman
207ec43e70 oleaut32: Clean up IFontDisp::Invoke by using VariantChangeTypeEx to coerce the input parameter into the correct type. 2006-07-27 11:42:33 +02:00
Robert Shearman
68249c10df configure: Add a check for the DGifOpen function in the gif_lib.h header as the v4 of the file does define it, while v3 doesn't. 2006-07-26 10:23:14 +02:00
Neil Skrypuch
8cec3cf120 oleaut32: Adding a NULL to a safearray is supposed to crash. 2006-07-25 12:05:28 +02:00
Robert Shearman
eb885a750f oleaut32: Initialize pRetVal in ITypeInfo::Invoke before calling VariantCopyInd
as native doesn't assume that it doesn't contain valid data.
2006-07-24 13:46:57 +02:00
Benjamin Arai
b636e4dbf4 oleaut32: Fix missing tests and heap errors for VarCat conformance. 2006-07-21 13:40:39 +02:00
Benjamin Arai
4026a4c0a8 oleaut32: Fix temp variant initialization issues in VarCat. 2006-07-21 13:40:32 +02:00
Benjamin Arai
31e3ad7150 oleaut32: OLEFontImpl_GetIDsOfNames conformance test. 2006-07-21 10:48:34 +02:00
Benjamin Arai
f75b9f190f oleaut32: Implements OLEFontImpl_GetIDsOfNames. 2006-07-21 10:48:26 +02:00
Benjamin Arai
911af4dce9 oleaut32: Update error codes for VarMod. 2006-07-19 09:38:50 +02:00
Robert Shearman
a05672e55f oleaut32: Add an exception handler around code executed on the server side from the typelib marshaler. 2006-07-18 11:16:02 +02:00
Robert Shearman
ad6b0dc281 oleaut32: Revert check for FUNCFLAG_FRESTRICTED in ITypeInfo::Invoke.
The change caused regressions in a number of applications and needs more 
study to see what the correct behaviour should be.
2006-07-18 11:12:35 +02:00
Benjamin Arai
d42002b72c oleaut32: VarCmp - Corrected function description. 2006-07-18 11:10:15 +02:00
Robert Shearman
c793bfe028 oleaut32: Test the return value of VarCat in the tests. 2006-07-17 14:46:26 +02:00
Robert Shearman
31f640274f oleaut32: Don't execute a function in ITypeInfo::Invoke if it has the FUNCFLAG_FRESTRICTED flag.
Add some more tests for ITypeInfo::Invoke.
2006-07-14 12:39:02 +02:00
Robert Shearman
ebea92739c oleaut32: Implement GetClassID for the OLE picture class. 2006-07-14 12:38:57 +02:00
Robert Shearman
f9c9a2bf3d oleaut32: Convert void return types to the VT_EMPTY variant type in ITypeInfo::Invoke. 2006-07-13 16:26:19 +02:00
Robert Shearman
797bdbc2d9 oleaut32: Typelib interfaces with the FDUAL flag should also be registered,
since dispinterfaces don't have the FDISPATCHABLE flag.
2006-07-13 16:26:12 +02:00
Alexandre Julliard
eb8a40c368 libs: Merged libwine_unicode into libwine.
Most dlls use libwine_unicode at this point, so there's nothing to
gain by having two separate libraries.
2006-07-11 19:33:22 +02:00
Benjamin Arai
700adac9ac oleaut32: Conformance test and patch for VarCat. 2006-07-11 17:14:58 +02:00
Alexandre Julliard
77dc0d9be5 .gitignore: Added wildcards to ignore generated resource files. 2006-07-10 21:39:00 +02:00
Alexandre Julliard
0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Robert Shearman
f774f7b79c oleaut32: Make ctl2_hash_guid match the same function in widl, which has likely had much wider testing. 2006-07-10 11:53:08 +02:00
Robert Shearman
688c6a78f1 oleaut32: MSFT_DoFuncs: "reclength" of the function information record is stored
in a 16 bit int and not in a 8 bit int as previously supposed, using a 0x1ff
mask. Upper 16 bits contains the ordinal number of the function. 
Allocation of the "recbuf" must be modified, to support larger data
(based on a patch by White Snake <whitesnake78@mail.com>).
2006-07-10 11:53:03 +02:00
qingdoa daoo
5e09c29867 oleaut32: Copying a NULL BSTR should result in an empty BSTR in VariantCopy. 2006-07-10 11:52:45 +02:00
Robert Shearman
ef7b6e2740 oleaut32: ITypeComp_fnBind should do case-insensitive compares on the name passed in. 2006-07-07 13:31:43 +02:00
Robert Shearman
c71af73324 oleaut32: Add a typedef for "boolean".
Fix up an conflict that this type has with jpeglib.h.
2006-07-07 13:31:37 +02:00
Robert Shearman
dd677948b4 oleaut32: Fix the error code returned by ITypeComp on an interface when the name matches, but the flags don't. 2006-07-07 13:30:46 +02:00
Robert Shearman
65639ab722 oleaut: Implement processing of modules for SLTG typelibs.
Set funckind when processing SLTG functions.
2006-07-05 11:48:41 +02:00
Robert Shearman
3f97460c2b oleaut: Improve SLTG var support.
Pass both the start of the block and the offset to the first item into
SLTG_DoVars as they may be different.
Process 0xfffe offsets for variable names - this means to use the
previous name.
Add support for parsing the optional varflags field.
2006-07-05 11:48:29 +02:00
Robert Shearman
4b6b51ae99 oleaut: Fix function support for SLTG dispinterfaces. 2006-07-05 11:48:13 +02:00
Robert Shearman
f2eb2d2309 oleaut: Move the processing of functions in SLTG typelibs into a
separate function and use it when processing dispinterfaces.
2006-07-05 11:48:03 +02:00
Robert Shearman
8a50262fdb oleaut: Move the initialisation of memidConstructor and
memidDestructor of type infos to the common ITypeInfo creation
function.

Remove the WARN message as this functionality isn't implemented in
native either.
2006-07-05 11:47:52 +02:00
Robert Shearman
92b468e810 oleaut: Process references for SLTG dispatch types. 2006-07-05 11:46:20 +02:00
Robert Shearman
e4188e8846 oleaut: Abstract out the processing of variables in SLTG typelib components to a common function. 2006-07-05 11:46:07 +02:00
Robert Shearman
bc6acf5c1d oleaut: Process references when parsing SLTG alias types. 2006-07-05 11:45:35 +02:00
Robert Shearman
23e089a09f oleaut: Rename SLTG_DoType to SLTG_DoElem and split out the common TYPEDESC generating code to SLTG_DoType.
Process SLTG alias types with SLTG_DoType as the data is stored in the
same format as in other components of the typelib.
2006-07-05 11:45:22 +02:00
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
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
Robert Shearman
088fc70ede ole: Improve typelib traces.
Move the debug channel check from dump_TLBFuncDesc[One] to its callers
for more flexibility in which channel controls the output.
2005-12-26 13:02:47 +01:00
Robert Shearman
9f1c6bf6bc OLE: Fix SafeArrayCopy for NULL pvData.
It is allowed to copy a SAFEARRAY with a NULL pvData, as long as
cbElements is non-zero. Add a test for this and fix the safe array
code.
2005-12-12 11:52:51 +01:00
Robert Shearman
69aa9f9d2e OLE: Add const to several typelib functions.
Add const attributes to parameters for several functions and fix up
some formatting.
2005-12-12 11:52:23 +01:00
Robert Shearman
e7299cdf47 OleTranslateColor trace fix.
OleTranslateColor isn't a stub so don't print ":stub" in the trace
message.
2005-12-12 11:52:02 +01:00
Robert Shearman
a056a9a89c OLE: Implement undocumented behaviour in DispCallFunc.
Fix DispCallFunc to work with MSDN-undocumented behaviour used by
Office 2003 and document the function.
2005-12-06 21:25:51 +01:00
Robert Shearman
1f68feeef1 OLE: Implement ITypeInfo_AddressOfMember. 2005-12-06 21:24:45 +01:00
Robert Shearman
b0d8e06caf OLE: Fix brokenness in typelib marshaller caused by dispinterface retval fix.
Fix more fallout from dispinterface retval patch: make typelib
marshaler use the internal function description so that it calls
dispinterface functions with the correct number of parameters again.
Also fixes some memory leaks caused by the fact that a corresponding
ReleaseXDesc function has to be called for each GetXDesc.
2005-12-06 21:24:19 +01:00
Robert Shearman
36f112973e OLE: Add tests for the typelib version of ITypeComp_Bind. 2005-12-06 21:23:19 +01:00
Robert Shearman
806cdce355 OLE: Update the type of the oVft parameter for DispCallFunc. 2005-12-06 21:23:09 +01:00
Robert Shearman
3dd7ba394c OLE: ITypeInfo_Invoke parameter naming change.
Rename the dwFlags parameter of ITypeInfo_Invoke since it is not a
DWORD, but an unsigned short.
2005-12-06 10:57:45 +01:00
Michael Stefaniuc
8ec3906768 Fix VarBstrCmp for NULL input BSTRs (MSDN is wrong). 2005-12-05 12:00:24 +01:00
Robert Shearman
190d05f4db OLE: Support HREFTYPEs For ITypeInfos
Add support for reading the hreftype of a typeinfo, return it to the
application in ITypeComp_Bind for the DESKIND_APPOBJECT case and
support referencing it in ITypeInfo_GetRefTypeInfo.
2005-12-03 18:20:27 +01:00
Robert Shearman
d8d1693def OLE: fix function name loading
Correctly get the name of the second function of a propget/propput
pair in MSFT typelibs when the name offset is set to -1.
2005-12-03 18:20:03 +01:00
Robert Shearman
bd8fefd66b OLE: fix invoking dispinterface functions
Fix invoking dispinterface functions by using the internal
representation of the function, not the one returned to applications.
2005-12-03 18:19:17 +01:00
Robert Shearman
d48f6f3682 OLE: Move the dispinterface return value handling to functions that
return the FUNCDESC to the user.
2005-12-03 18:10:30 +01:00
Robert Shearman
a61e4e802c OLE: fix handling of INVOKE_PROPERTYGET flag in ITypeComp_fnBind.
The INVOKE_PROPERTYGET flag shouldn't affect binding to variables; it
should just affect which of a pair of [propget] and [propput]
functions should be returned.
2005-12-03 18:03:29 +01:00
Robert Shearman
cc9052c38e Make dump functions const. 2005-12-01 12:55:31 +01:00
Robert Shearman
695556af16 Remove broken return value handling code and that would reference
memory beyond the end of the arguments array. Replace it with code
that properly handles referencing the return type and setting the
return type to VT_VOID when a dispinterface function doesn't have any
return value.
2005-12-01 12:48:56 +01:00
Robert Shearman
960aadaceb Introduce a variable "elemdesc" to eliminate some long common
expressions.
Move the contents of the second arguments loop inside the first.
Move the MSFT_ReadLEDWords so that it is the last statement in the
loop since it is one of the iterators.
2005-12-01 12:34:39 +01:00
Robert Shearman
48e1a72a23 Don't truncate large integer constants. 2005-12-01 11:37:11 +01:00
Robert Shearman
55ffe637db The pparamdescex of an ELEMDESC should only be copied if wParamFlags &
PARAMFLAG_DHASDEFAULT.
Make ITypeInfo_ReleaseVarDesc use TLB_FreeElemDesc.
2005-12-01 11:12:07 +01:00
Robert Shearman
6e2804e19a Factor out code for doing ELEMDESC sizes and copies.
Copy FUNCDESC structures returned to calling applications instead of
passing a pointer to the master structure used internally.
Call VariantInit on newly allocated memory before calling VariantCopy.
2005-11-30 12:01:33 +01:00
Robert Shearman
f0a600a162 Implement ITypeInfo_Bind for typelibs.
Fix some places where a returned object was AddRef'd.
Make the search through implemented types work on all types, not just
interfaces.
2005-11-29 11:25:24 +01:00
Robert Shearman
25bfb811a3 Add functions for doing a deep copy of a TYPEDESC into a flat buffer.
Copy VARDESC structures returned to calling applications instead of
passing a pointer to the master structure used internally.
2005-11-29 10:42:22 +01:00
Alexandre Julliard
0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
YunSong Hwang
58d6722e7a Add Korean translations. 2005-11-11 10:55:09 +00:00
Francois Gouget
0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget
f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Robert Shearman
7dc54af325 - Cleanup formating of DispCallFunc.
- Fix DispCallFunc for functions with return values.
- Don't rely on _copy_arg as it is going away soon.
2005-11-09 10:31:20 +00:00
Marcus Meissner
c49f5f0095 Added support of loading of IPicture data from non-statable
IStreams. Added testcases for this.
2005-11-07 11:09:10 +00:00
Marcus Meissner
7e08a24f83 Fixed FMT_DATE_GENERAL and FMT_DATE_TIME_SYS cases in
VARIANT_FormatDate.
2005-11-05 10:42:09 +00:00
Marcus Meissner
2045ed2299 Added support for VT_I8/VT_UI8 marshalling. 2005-11-04 11:13:55 +00:00
Robert Shearman
3a0a31843e Add a test for Invoking an OleFont function. 2005-11-04 11:13:08 +00:00
Uwe Bonnes
87df07452a Extend VarCmp() and add test cases. 2005-11-03 13:21:11 +00:00
Huw Davies
753e4ee9bd Don't call Release on a null ptr. 2005-11-02 20:54:34 +00:00
Robert Shearman
4381c62560 Fix a crash during +variant logging caused by a typo causing an array
to be one element less than expected.
2005-11-02 20:03:01 +00:00
Robert Shearman
efe606fddb - Make sure to clean up properly on error.
- Restrict the critical section to getting the channel buffer and
  adding a reference to it.
2005-11-02 20:00:00 +00:00
Robert Shearman
1acbdd9d2a - Make wParamFlags in the paramdesc dumping function human readable.
- Enums should be VT_I4 instead of VT_INT.
- Trace the return value from the ITypeInfo_fnInvoke.
2005-11-02 19:59:13 +00:00
Robert Shearman
ebb839733a The PSDispatch PS class factory can manage both typelib marshalled and
IDispatch, which is NDR marshalled, so we need a wrapper to call the
appropriate CreateProxy or CreateStub function.
2005-11-02 10:54:52 +00:00
Marcus Meissner
d6e45770b5 SysReAllocString of same pointer returns TRUE. 2005-11-01 18:06:41 +00:00