Rob Shearman
99d9983b61
oleaut32: Fix memory leaks in ITypeInfo_fnInvoke.
2009-11-18 11:15:39 +01:00
Sunil Mohan Adapa
59ae1705ac
oleaut32: Do no check for dispatchable flag on dual interfaces.
2009-11-10 15:18:06 +01:00
Sunil Mohan Adapa
926b884cd6
oleaut32: Fix SLTG parser so that dual interfaces are returned as IDispatch first.
2009-11-10 15:18:05 +01:00
Sunil Mohan Adapa
05b2426031
oleaut32: Fix SLTG parser so that dispatch interface can inherit another interface.
2009-11-10 15:18:05 +01:00
Jeremy White
b8d7088e88
oleaut32: Implement the ability to marshall VT_CARRAY's of user defined types.
2009-10-26 11:19:12 +01:00
Alexandre Julliard
ceac768adf
oleaut32: Use an assembly wrapper to implement DispCallFunc, and make it i386-only.
2009-10-06 16:12:35 +02:00
Vincent Povirk
03683b2530
oleaut32: Use DISPATCH_HREF_MASK even for non-dual dispatch types.
2009-09-16 15:36:35 -05:00
Vincent Povirk
9abdf54cb7
oleaut32: Implement ITypeLibComp::BindType.
2009-09-10 10:50:22 +02:00
Vincent Povirk
34f1d8a200
oleaut32: Handle LCID arguments in ITypeInfo::Invoke.
2009-09-02 15:48:14 +02:00
Austin English
e7bbc32bd1
oleaut32: Avoid a NULL pointer dereference.
2009-09-01 12:52:05 +02:00
Vincent Povirk
80c870251f
oleaut32: Make ITypeInfo2::GetCustData succeed when data is not found.
2009-08-26 12:09:25 +02:00
Vincent Povirk
3e542bc60e
oleaut32: Map INT and UINT typedesc's to VT_I4 and VT_UI4.
2009-08-20 15:25:54 +02:00
Sunil Mohan
f7f50d1252
oleaut32: Fix SLTG_ReadString to null terminate.
2009-08-18 11:25:44 +02:00
Alexandre Julliard
8fce9369b8
oleaut32: Replace long and unsigned long by more appropriate types.
2009-07-03 13:48:54 +02:00
Huw Davies
9da0b352f6
oleaut32: TLibAttr.lcid is read from the second lcid field in the header. Confirmed by manually editing a tlb file.
2009-06-09 17:01:15 +02:00
Alexandre Julliard
9955350ea1
oleaut32: Add support for registering 64-bit typelibs.
2009-05-21 16:17:19 +02:00
Dmitry Timoshkov
69ec6b4c6d
oleaut32: Add some additional tests for QueryPathOfRegTypeLib, make them pass under Wine.
2009-04-13 17:35:51 -05:00
Alexandre Julliard
0ed1041c63
oleaut32: Don't use 16-bit headers.
2009-04-01 18:20:21 +02:00
Michael Stefaniuc
a3f8fd71e1
oleaut32: Remove superfluous pointer casts.
2009-02-09 14:37:23 +01:00
Marcus Meissner
4d8fffb24b
oleaut32: Removed useless NULL ptr check (Coverity).
2009-02-02 15:21:43 +01:00
Rob Shearman
522662faa9
oleaut32: Fix the typelib tests on 64-bit platforms.
2009-01-29 14:06:59 +01:00
Rob Shearman
b3c8124a15
oleaut32: Dump MSFT format typeinfos upon loading.
2009-01-12 13:07:01 +01:00
Alexandre Julliard
c42130f010
oleaut32: Make some functions static.
2008-12-02 15:24:59 +01:00
Francois Gouget
cc42922e08
oleaut32: Remove WINAPI on static functions where not needed.
2008-11-26 12:10:40 +01:00
Huw Davies
49368cb14b
oleaut32: Add support for loading typelibs from NE files.
2008-11-26 12:08:23 +01:00
Andrew Talbot
5af3af2b2f
oleaut32: Sign-compare warnings fix.
2008-11-03 14:06:07 +01:00
Michael Stefaniuc
0c07d3ba37
oleaut32: Use FAILED instead of !SUCCEEDED.
2008-10-08 13:43:22 +02:00
Detlef Riekenberg
410302d898
oleaut32: Remove redundant NULL check before SysFreeString.
2008-09-23 12:12:29 +02:00
Huw Davies
fd3be66531
oleaut32: Use V_INT instead of V_UNION.
2008-09-16 11:28:53 +02:00
Huw Davies
fbcd6422ef
oleaut32: Add support for VT_INT and VT_UINT constants.
2008-09-16 11:28:50 +02:00
Mikołaj Zalewski
8b36e71590
oleaut32: Make _argsize and _xsize receive the full TYPEDESC and parent ITypeInfo, use a different function in IDispatch code.
2008-09-15 13:20:10 +02:00
Marcus Meissner
96412ee564
Annotate with allocation size attribute.
2008-09-05 11:22:26 +02:00
Rob Shearman
fc269433ce
oleaut32: Fix invalid free of import library entry name with SLTG typelibs.
...
Use TLB_MultiByteToBSTR to allocate import library entry name in
ITypeLib2_Constructor_MSFT as BSTR instead of a normal block of memory
to make the allocator the same as for SLTG typelibs. Free the name
with SysFreeString instead of TLB_Free.
2008-08-18 14:36:58 +02:00
Rob Shearman
2fab79955f
oleaut32: Avoid unnecessary allocations in TLB_MultiByteToBSTR and SLTG_ReadString.
2008-08-18 14:36:51 +02:00
Rob Shearman
6f9baca256
oleaut32: Fix the loading of the parameter name for SLTG propget functions.
...
The parameter could have an offset of 0xffff/0xfffe, in which case the
parameter name should be the name of the function, rather than NULL.
2008-07-30 14:41:57 +02:00
Rob Shearman
9f9d8dc683
oleaut32: Handle strings with a length of 0xffff in SLTG_DoVars.
...
This means that the string is NULL so don't attempt to access the
string data in this case.
2008-07-30 14:41:47 +02:00
Rob Shearman
caf875f4ee
oleaut32: Dump the loaded module in SLTG_ProcessModule.
2008-07-30 14:41:37 +02:00
Rob Shearman
0ed6ebfec1
oleaut32: Move the debug logging of the variable type in SLTG_DoVars.
...
Move it before loading of the constant data to allow better debugging
of problems during the processing of loading the constant data.
2008-07-30 14:41:32 +02:00
Rob Shearman
48c5a06916
oleaut32: Use the typelib debug channel for debug messages output during loading of SLTG typelibs.
2008-07-30 14:41:22 +02:00
Andrew Talbot
3ac0983ab4
oleaut32: Remove unneeded address-of operators from array names.
2008-07-11 14:06:37 +02:00
Rob Shearman
501da4fa2a
oleaut32: Dump symbolic names for VT_LPSTR and VT_LPWSTR in dump_TypeDesc.
2008-07-01 12:26:22 +02:00
Rob Shearman
a2c1bdf1f8
oleaut32: Load string constants correctly from SLTG typelibs.
2008-07-01 12:26:17 +02:00
Rob Shearman
45989a1ff1
oleaut32: Implement the 0x08 flag in SLTG_DoVars.
...
It means that the data is stored directly in pItem->byte_offs instead
of the byte offset pointed to by it.
2008-07-01 12:26:11 +02:00
Austin English
c531e2abdb
Spelling fixes.
2008-04-23 12:31:07 +02:00
Andrew Talbot
ba742868e5
oleaut32: Remove unused variables.
2008-04-23 12:23:27 +02:00
Austin English
e8dbd66c23
oleaut32: Spelling fixes.
2008-04-14 21:28:38 +02:00
Francois Gouget
8a18e0e43a
Assorted spelling fixes.
2008-04-07 13:36:18 +02:00
Rob Shearman
a35dfc4510
oleaut32: Fix the return type of TLB_ReadTypeLib.
2008-03-15 10:58:38 +01:00
Rob Shearman
0ec1e2842a
oleaut32: Split the methods for opening different sources of typelibs out of TLB_ReadTypeLib.
2008-03-12 19:21:15 +01:00
Andrew Talbot
9d16a42210
oleaut32: Assign to structs instead of using memcpy.
2008-03-12 11:59:27 +01:00
Andrew Talbot
5ea25c62b8
oleaut32: Remove unneeded casts.
2008-01-16 12:16:01 +01:00
Rob Shearman
e68371040f
oleaut32: Introduce a new helper function, TLB_FreeCustData, for freeing custom data.
...
Fix memory leaks caused by the variable and interface custom data not
being freed properly.
2007-11-28 11:14:13 +01:00
Rob Shearman
aaa6c4007f
oleaut32: Free the correct custom data inside ITypeInfo_fnRelease.
...
Since the code is inside the loop for function data, it should be
freeing the function's custom data, not the interface's.
2007-11-28 11:14:07 +01:00
Gerald Pfeifer
48d839822b
oleaut32: Simplify two conditions based on the fact that unsigned variables cannot be negative.
2007-11-26 13:55:18 +01:00
Francois Gouget
c4b1195c0c
Assorted spelling fixes.
2007-10-23 18:20:27 +02:00
Mikolaj Zalewski
bda66cc37a
oleaut32: Function kind for dispatch interfaces should be FUNC_DISPATCH.
2007-10-10 21:33:38 +02:00
Andrew Talbot
4ed64d381c
oleaut32: Constify some variables.
2007-07-31 22:24:46 +02:00
Andrew Talbot
36720b4945
oleaut32: Constify some variables.
2007-07-30 13:38:39 +02:00
Huw Davies
ec35568970
oleaut32: Extend _invoke to cope with more args.
2007-06-25 11:34:49 +02:00
Huw Davies
17fca45d41
oleaut32: Interfaces that derive from IDispatch should be marshaled as VT_DISPATCH.
2007-06-25 11:34:23 +02:00
Michael Stefaniuc
34b45b311e
oleaut32: Do not use wide character constants.
2007-06-22 12:18:50 +02:00
Misha Koshelev
428ed94fa9
oleaut32: Add support for vararg functions in ITypeInfo::Invoke.
2007-06-07 13:00:09 +02:00
Rob Shearman
e98ec6db4c
oleaut32: Fix the references in function descriptions returned for dual IDispatch interfaces.
...
Do this by changing references from other interfaces (and possibly other
typelibs) to uniquely identify them.
Add special handling to GetRefTypeInfo to cope with this.
2007-05-30 11:51:54 +02:00
Rob Shearman
bacf5c640f
oleaut32: For automatic-value-getting in ITypeInfo::Invoke, it doesn't matter what flag(s) the function was executed with, just what type of function is being invoked.
2007-05-30 11:51:37 +02:00
Huw Davies
cd3df383a5
oleaut32: SLTG references are only unique at the typeinfo level, so convert them to be unique to the typelib.
2007-05-25 19:37:12 +02:00
Huw Davies
c1e89400aa
oleaut32: Recurse through the impltype list so that dispinterfaces get the correct parents.
2007-05-18 19:59:35 +02:00
Huw Davies
b698b2909b
oleaut32: Fix CreateDispTypeInfo to store the correct number of functions.
2007-05-18 19:59:29 +02:00
Huw Davies
78bf6946ba
oleaut32: GetRefTypeOfImplType(0) on TKIND_DISPATCH typeinfos should always return an href to IDispatch.
2007-05-18 19:57:34 +02:00
Huw Davies
356970e529
oleaut32: Fix return value in the element not found case.
2007-05-18 19:57:25 +02:00
Huw Davies
9afcaf2ae1
oleaut32: Type references are global to the typelib.
2007-05-17 12:44:44 +02:00
Rob Shearman
5edc7fd5ef
oleaut32: TKIND_COCLASS parameters to Invoke'd functions should be converted into VT_DISPATCH instead of VT_UNKNOWN.
...
Add a test for this.
2007-03-08 13:50:45 +01:00
Rob Shearman
30b6f9acd6
oleaut32: Fix the return value of ITypeInfo::Invoke when the property-put named argument isn't DISPID_PROPERTYPUT.
2007-02-08 12:59:36 +01:00
Rob Shearman
a3235dd1d4
oleaut32: Implement automatic value getting in ITypeInfo::Invoke.
...
If an IDispatch object is returned from in the retval for a propget
function and an extra parameter was passed in to ITypeInfo::Invoke then
it should call IDispatch::Invoke on the returned object with the extra
parameter to retrieve the value of the object, which is then returned in
pVarResult.
2007-02-08 12:59:32 +01:00
Rob Shearman
e88d033044
oleaut32: Ignore the first named argument when invoking property-put methods
...
as it is mandatory and doesn't indicate that the arguments will be
passed in as named ones.
2007-02-06 22:06:16 +01:00
Rob Shearman
21140a9a53
oleaut32: Add support for named arguments in ITypeInfo::Invoke.
2007-02-06 22:05:59 +01:00
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