Commit Graph

928 Commits

Author SHA1 Message Date
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