Commit Graph

285 Commits

Author SHA1 Message Date
Rob Shearman
702e2c6dc2 oleaut32: Copy the value directly returned from the called function
if it is not an HRESULT value, instead of getting it from a [retval]
attribute.
2007-02-06 22:05:50 +01:00
Rob Shearman
8f38cd8c8c oleaut32: Fix the missing argument handling for non-byref variant arguments. 2007-02-06 21:36:34 +01:00
Rob Shearman
e2108feec4 oleaut32: If an error info object was created when the invoked method failed then fill in exception info from the error info object. 2007-02-06 21:36:13 +01:00
Huw Davies
a09cd1b88a oleaut32: Call SearchPath before LoadLibrary so that we get the full path of native exes and dlls.
For builtin dlls prepend the system directory.
2007-02-06 20:23:16 +01:00
Huw Davies
a59e4899f5 oleaut32: The typelib version numbers should be written to the registry in hex. 2007-01-25 11:05:46 +01:00
Andrew Talbot
d6fc116475 oleaut32: Declare some items static. 2007-01-22 12:08:55 +01:00
Dmitry Timoshkov
601bf6ea12 oleaut32: Make some data const and static. 2006-11-28 12:36:20 +01:00
Alex Villacís Lasso
64410e5907 oleaut32: typelib - fix regression in MSFT typelib parsing. 2006-11-09 10:44:13 +01:00
Francois Gouget
30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Rob Shearman
7f71545835 oleaut32: Update comments at the top of typelib.c and remove "stub" from several traces that are in implemented functions. 2006-10-27 11:59:50 +02:00
Rob Shearman
47bf80da8c oleaut32: Fix a crash in dump_DispParms when running the typelib test with debug tracing on. 2006-10-24 17:46:56 +02:00
Rob Shearman
aa203f0919 oleaut32: Free the array subscript memory for type descriptions when freeing the typelib. 2006-10-24 17:46:49 +02:00
Rob Shearman
a26af4861d oleaut32: Fix a reference count leak in CreateDispTypeInfo. 2006-10-24 17:46:34 +02:00
Rob Shearman
d72ef78fa6 oleaut32: Initialise all members of the FUNCDESC structure in CreateDispTypeInfo. 2006-10-24 17:46:27 +02:00
Rob Shearman
053b6b21b6 oleaut32: Fix two more leaks on type info destruction. 2006-10-23 15:19:02 +02:00
Rob Shearman
b5c78d0dff oleaut32: Rewrite MSFT_ReadName and MSFT_ReadString to need one less allocation and to fix a memory leak. 2006-10-23 15:18:56 +02:00
Rob Shearman
b3d024a7bb oleaut32: Free allocated memory on typelib and typeinfo destruction. 2006-10-23 15:18:38 +02:00
Dmitry Timoshkov
20c40e0659 oleaut32: Make QueryPathOfRegTypeLib test pass under Wine. 2006-10-23 15:16:55 +02:00
Francois Gouget
ef998ea6cb Assorted spelling fixes. 2006-10-16 11:33:38 +02:00
Michael Stefaniuc
15765dd953 The Data1 member of the GUID struct needs to be an unsigned int too for Win64 compatibility. 2006-10-16 10:53:04 +02:00
Hans Leidekker
ce66f5d684 oleaut32: Win64 printf format warning fixes. 2006-10-13 12:08:47 +02:00
Huw Davies
03ec218326 oleaut32: Implement ITypeInfo_CreateInstance. 2006-10-09 20:38:41 +02:00
Robert Shearman
dd70c0ae7c oleaut32: Fix ITypeInfo::GetFuncDesc to return the correct information for dual dispinterfaces. 2006-10-02 21:38:12 +02:00
Robert Shearman
65ca6a2f4d oleaut32: Make ITypeInfo::GetDocumentation work for functions/variables in inherited interfaces. 2006-10-02 21:38:07 +02:00
Andrew Talbot
0e9c97eba3 oleaut32: Cast-qual warnings fix. 2006-09-25 18:15:39 +02:00
Robert Shearman
b7e88d8f8b oleaut32: Fix a leak of the module reference count. 2006-09-07 10:16:47 +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 Siebert
9776f5b83f oleaut32: GetTypeInfoType - Return TYPE_E_ELEMENTNOTFOUND if index out of bounds. 2006-08-03 19:56:22 +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
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
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
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
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
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
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
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
2fa3cc03a5 oleaut32: Fix a typo where the FIXME doesn't match the code. 2006-06-30 20:43:56 +02:00