Commit Graph

2377 Commits

Author SHA1 Message Date
Michael Stefaniuc 3093ac8b09 oleaut32: Use more wide-char string literals.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:55 +01:00
Nikolay Sivov c4a9a296ba oleaut32: Use wide-char string literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-26 21:31:53 +01:00
Kevin Puetz 65d917402f oleaut32: Load GetVarCustData from MSFT-format typelib.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Kevin Puetz cd38abc455 oleaut32: Fix error handling/reporting in TLB_copy_all_custdata.
VariantCopy clears existing contents of pvargDest and thus requires
it contain a valid (possibly-empty) VARIANT, not uninitialized garbage.

If a failure still occurs, propgate the HRESULT to GetAll*CustData.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Kevin Puetz 8341b2550d oleaut32/tests: Cover Get*CustData in test_dump_typelib.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 22:27:51 +01:00
Damjan Jovanovic 12bc7c0abe oleaut32: IFont never had an IPersistStreamInit interface.
Signed-off-by: Damjan Jovanovic <damjan.jov@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 22:06:52 +01:00
Nikolay Sivov 4dff465207 oleaut32: Do not forward IErrorInfo functions.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49946
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 11:56:49 +02:00
Michael Stefaniuc 2ee75bf9ad oleaut32: Remove superfluous casts.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 21:36:30 +02:00
Kevin Puetz 10b3bbe138 oleaut32/tests: Add tests for rewriting FUNCDESC to FUNC_DISPATCH.
Add examples in test_tlb which exercise FUNCDESC rewriting in:
1. dispinterface FUNC_DISPATCH declarations
2. dual interface
3. dispinterface which implements another interface

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 13:23:43 +02:00
Kevin Puetz 477fc581de oleaut32: Make GetNames omit same parameters as GetFuncDesc.
GetFuncDesc removes parameters which are handled specially by Invoke;
GetNames should also consistently omit their names.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 13:23:43 +02:00
Kevin Puetz 269207e6fd oleaut32: Omit [lcid] parameter when rewriting FUNCDESC to FUNC_DISPATCH.
[lcid] parameters are supplied from IDispatch::Invoke's parameters,
rather than via DISPPARAMS::rgvargs[] and should also be removed
from the FUNC_DISPATCH translation.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 13:23:43 +02:00
Kevin Puetz 9bc78976d9 oleaut32: Overwrite return type when rewriting FUNCDESC to FUNC_DISPATCH.
A [retval] parameter overwrites any return type, not just HRESULT.
But HRESULT is special even without a [retval] to replace it;
it's translated into pExcepInfo and so the return type becomes void.

This rewriting should occur only for functions not originally
defined as FUNC_DISPACH (e.g. inherited or [dual]).
A FUNCDESC originally declared as a dispinterface is left as-is,
and might e.g. return HRESULT.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 13:23:43 +02:00
Kevin Puetz 03b1b3920c oleaut32: FUNC_DISPATCH from dispinterface should have oVft == 0.
A dispinterface has no vtbl beyond IDispatch itself.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 13:23:43 +02:00
Kevin Puetz e6108e17a5 oleaut32/tests: Include [dual] interface in test_dump_typelib.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-28 13:23:43 +02:00
Kevin Puetz 434a6444c3 oleaut32/tests: Cover GetVarDesc in test_dump_typelib.
Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:35:06 +02:00
Kevin Puetz b43041d79a oleaut32/tests: Fix expect_wstr_acpval(...,NULL).
A NULL expected value is always a test failure, but printing
the unexpected "wrong" value is more helpful than crashing.

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:34:58 +02:00
Kevin Puetz e556df2db5 oleaut32/tests: Reformat test_dump_typelib.
Always print initializer for funcs[] array, even when empty

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-18 15:34:55 +02:00
Puetz Kevin A 380fbe006a oleaut32: Cut off only non-empty \[0-9]+$ resource-id in RegisterTypeLib.
Check if szFullPath ended with '\\' (was explicitly a directory).

Signed-off-by: Kevin Puetz <PuetzKevinA@JohnDeere.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-17 00:04:12 +02:00
Piotr Caban 1bc6f0c861 msvcrt: Reimplement floating point numbers printing.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37913
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-13 21:22:11 +02:00
Vijay Kiran Kamuju ae9a59ae05 oleaut32: Include the leading '\1' in the CompObj stream name.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:25 +02:00
Vijay Kiran Kamuju 45f0a15edc oleaut32: Merge four DWORDs into a GUID.
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-12 17:16:25 +02:00
Porot Mo 48ef66e9e3 oleaut32: Match funcdesc using both memberid and invkind.
Property access functions can share the same memberid.

Signed-off-by: Porot Mo <porotmjp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Porot Mo 3b7c642001 oleaut32/tests: Add tests for ITypeInfo::GetDllEntry().
Signed-off-by: Porot Mo <porotmjp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Huw Davies e9eb274db2 oleaut32: Return early if there is no matching funcdesc.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-11 15:51:18 +02:00
Jacek Caban 08894ffb11 oleaut32/tests: Define NONAMELESSUNION.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:52:12 +02:00
Jacek Caban 8fac69ba50 oleaut32: Fix handling dual interfaces in ITypeInfo::GetRefTypeInfo.
Based on patch by Puetz Kevin.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 21:20:14 +01:00
Zebediah Figura 15e91ac2ce rpcrt4: Handle bare coclasses as top-level parameters.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:04:41 +01:00
Zebediah Figura f4ee83c0eb rpcrt4: Handle bare interfaces as top-level parameters.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-19 13:04:38 +01:00
Nikolay Sivov bf39f2bf0f oleaut32/tests: Link to activation context API directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 13:48:44 +01:00
Jacek Caban db498b3bf2 oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in a few more places.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Jacek Caban cdb72b091e oleaut32: Return missing function custom data as VT_EMPTY.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Kevin Puetz af2edc175c oleaut32: Use ITypeInfoImpl_GetInternalFuncDesc in ITypeInfo2_fnGetFuncCustData.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Kevin Puetz e9f8971398 oleaut32: Return function description as TLBFuncDesc from ITypeInfoImpl_GetInternalDispatchFuncDesc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Jacek Caban af905ffec9 oleaut32: Move TKIND_DISPATCH logic to ITypeInfoImpl_GetInternalFuncDesc.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Kevin Puetz 5ecd6e4807 oleaut32: Fix handling resource IDs in paths when registering typelib helpdir.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Jacek Caban 2822b577d8 oleaut32/tests: Add test of reference typelib caching.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Kevin Puetz dc96f63f3f oleaut32: Search cache for requested typeinfo in GetRefTypeInfo.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Jacek Caban f7e357aa5f oleaut32/tests: Use Unicode strings for file names.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-10 22:46:24 +01:00
Michael Stefaniuc 45da77a4e4 oleaut32/tests: Get rid of strcmp_wa().
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-06 21:47:33 +01:00
Kevin Puetz fa0491f239 oleaut32: Use GetFinalPathNameByHandle to canonicalize file path.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 20:48:04 +01:00
Alexandre Julliard 0053ab28e6 oleaut32/tests: Get rid of strcmpW().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-26 10:59:43 +01:00
Nikolay Sivov de388bbec9 oleaut32/tests: Remove some workarounds for functions that are assumed to be available.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-08 21:12:05 +01:00
Zebediah Figura c7fa6e8e2d oleaut32/tests: Avoid testing that GDI objects are invalid.
This is not consistent across Windows versions.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-26 21:56:04 +01:00
Jacek Caban 1aaf870039 rpcrt4: Fix implicit in attribute handling in write_param_fs.
Fixes regression caused by typelib marshaling rewrite.
Spotted by Kevin Puetz.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-18 21:13:16 +01:00
Francois Gouget 8ecd037962 oleaut32: Fix the spelling of some comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Nikolay Sivov 4b49875ec1 oleaut32/tests: Add some more tests for GetRefTypeInfo() in case of dual interface.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Nikolay Sivov d9911e3631 oleaut32/tests: Use TYPEKIND values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Nikolay Sivov 06842c709d oleaut32/typelib: Simplify variable and function description lookup helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Nikolay Sivov 5d05d4acd6 oleaut32/typelib: Get rid of redundant argument in typeinfo lookup helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Francois Gouget 1a46034c46 oleaut32: Fix the spelling of a FIXME() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00