Commit Graph

853 Commits

Author SHA1 Message Date
Zebediah Figura 968eda4b18 oleaut32: Unify the typelib and dispatch proxy/stub factories.
Both seem to be able to handle either kind of interface on Windows.

f72f8e5c4 was not enough, since the IDispatch proxy/stub factory
delegates to the typelib proxy/stub factory if the IID is not
IDispatch.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-05 21:22:15 +01:00
Alistair Leslie-Hughes 0c738d900a oleaut32: Support VT_DECIMAL in VarRound.
Based on a patch by Carlos Chiriboga Calderon.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=26653
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-19 22:04:50 +01:00
Michael Stefaniuc e36476ff7e oleaut32/tests: Propagate the const instead of casting it away.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-18 16:02:28 +01:00
Michael Stefaniuc 3af4ebf27a oleaut32/tests: Floating point numeric constants are by default doubles.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 09:13:18 +01:00
Michael Stefaniuc d506882266 oleaut32/tests: Fix printing of an expected value.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-13 09:12:38 +01:00
Zebediah Figura f72f8e5c40 oleaut32: Register non-dual dispinterfaces using the correct proxy.
Fixes a bug where NetLinx Studio 4 would fail to compile files.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-11 11:52:00 +01:00
Sven Baars 0794ab8400 oleaut32/tests: Fix some memory leaks (Valgrind).
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-14 15:32:23 +01:00
Dmitry Timoshkov 54d17b9532 oleaut32: Accept DISP_E_PARAMNOTFOUND for missing optional parameters in ITypeInfo::Invoke implementation.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-03 10:51:23 +01:00
Zebediah Figura 2cba0ed944 oleaut32/tests: Add some tests for marshalling of coclasses.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 17:48:55 +01:00
Zebediah Figura 94f4b49d78 oleaut32: Handle coclasses in ITypeInfo_Invoke().
Based on a patch by Sebastian Lackner.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39799
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-14 17:48:55 +01:00
Dmitry Timoshkov b7dad74f53 oleaut32/tests: Add test for calling function with instance and VARIANT return type.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-13 20:54:28 +01:00
Zebediah Figura 077b4391d4 oleaut32: Rip out the old typelib marshaller.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-12 13:15:27 +01:00
Zebediah Figura eff5223ae3 oleaut32/tests: Add a test for marshalling of floats on x86-64.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:01 +01:00
Zebediah Figura 55b1c4301f oleaut32/tests: Add some tests for marshalling public typedefs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:01 +01:00
Zebediah Figura b6bee08366 oleaut32/tests: Add some more tests for marshalling arrays.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-02 15:18:01 +01:00
Zebediah Figura 09a81b30f8 oleaut32/tests: Add some more tests for marshalling structs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:58 +01:00
Zebediah Figura 9d1b5fd44f oleaut32/tests: Add some tests for marshalling safe arrays.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-01 21:50:58 +01:00
Zebediah Figura a21a3d367b oleaut32/tests: Add some more tests for marshalling VARIANTs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:36:17 +01:00
Zebediah Figura 20749cec4c oleaut32/tests: Add some tests for marshalling BSTRs.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:36:13 +01:00
Zebediah Figura 09076372eb oleaut32/tests: Add some tests for marshalling interfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:36:08 +01:00
Zebediah Figura 96b0bdc38c oleaut32: Don't release a NULL interface in VARIANT_UserFree().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:36:01 +01:00
Zebediah Figura 5c8329d3fd oleaut32/tests: Add some tests for marshalling pointers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:35:56 +01:00
Zebediah Figura 71f2839e52 oleaut32/tests: Abort earlier if we fail to create a proxy.
We are not testing anything meaningful in this case.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-30 10:35:53 +01:00
Zebediah Figura 55e3a4d82f oleaut32/tests: Add some tests for marshalling base types.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 14:01:39 +02:00
Zebediah Figura 1d15103c2b oleaut32: Handle VT_(U)I8 in get_type_size().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-16 14:01:33 +02:00
André Hentschel 3b2c4d6624 oleaut32/tests: Adjust test to a fixed Windows bug.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-10 12:33:16 +02:00
Dmitry Timoshkov 4b525aa0a4 oleaut32/tests: Fix the IPicture::Render() usage.
When one specifies the target rectangle (0, 0, width, -height)
IPicture::Render() places the origin at 0,0 and flips the image
vertically. This means that in order to paint an icon on the DC
it's necessary to specify the rectangle (0, height, width, -height),
i.e. place the origin at 0,height. I've written a test app that
verifies this behaviour, ufortunately I don't see a way to add
a Wine test case for this.

The test currently works by chance under Windows because in case
of (0, 0, width, -height) IPicture::Render() draws black rectangle
instead of an icon at (0, 0, width, height). If Wine intends to
replicate this behaviour it should be fixed by a separate patch.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-24 20:12:04 +02:00
Daniel Lehman 1d2ac5d8b6 oleaut32: Extend value range before getting absolute value in VarBstrFromI4.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:06 +02:00
Daniel Lehman 7198499dd0 oleaut32/tests: Add test for VarBstrFromI4.
Signed-off-by: Daniel Lehman <dlehman@esri.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-15 10:49:06 +02:00
Dmitry Timoshkov bab5a703da oleaut32/tests: Add tests for IPicture::get_hPal() and IPicture::set_hPal().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 18:04:17 +02:00
Michael Stefaniuc 2441e9417c oleaut32/tests: Use a better type to avoid a cast.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-19 20:49:24 +02:00
Michael Stefaniuc db48640a51 oleaut32/tests: Avoid an ARRAY_SIZE-like macro.
Also use a better type for the dimension variable.

Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-19 20:49:11 +02:00
Michael Stefaniuc 050edeb420 oleaut32/tests: Use the available ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-19 20:49:04 +02:00
Zebediah Figura 50a7b239bd widl: Generate correct size and alignment for all types.
Using type_memsize_and_alignment() directly instead of reimplementing it.

Also fix the generated tests in oleaut32 to reflect correct sizes for 64-bit
typelibs.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 10:07:10 +02:00
Zebediah Figura 8c968f774c widl: Don't remove the FDUAL flag from non-dispatchable interfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Zebediah Figura 413821f8b1 widl: Properly implement syntax 2 dispinterfaces.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:05 +02:00
Alex Henrie 96e9da5c87 oleaut32/tests: Mark some tmarshal tests as todo on x64 and ARM.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-15 19:35:13 +01:00
Daniel Lehman ff4a02fe3c oleaut32/tests: Fix leak (Valgrind).
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-06 22:11:14 +01:00
Huw Davies dd012af92a oleaut32: Fix vtable offset for a SYS_WIN32 typelib loaded on WIN64.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 10:27:57 +01:00
Huw Davies 138f75f19f oleaut32/tests: Remove some no longer needed test work-arounds.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 10:27:55 +01:00
Nikolay Sivov 4cc41fc5ce oleaut32/tests: Use SafeArraySetIID() directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 16:40:55 +01:00
Nikolay Sivov 0fc0e34fb0 oleaut32/tests: Test more return values.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-05 16:13:37 +01:00
Marcus Meissner 4f45fa0581 oleaut32/tests: Fixed 64-bit crash on tmarshal test.
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 21:42:17 +01:00
Piotr Caban 409bafcc73 oleaut32: Ignore underflows in VarR8FromStr.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:45 +01:00
Piotr Caban 61c18632b8 oleaut32: Fix automatic value getting in ITypeInfo::Invoke.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-07 21:24:45 +01:00
Donna Whisnant c4ac2d285d oleaut32: Fix DispCallFunc() stdcall test to be ABI not x64 specific.
The tests checking callee stack cleaning for stdcall vs. cdecl should
be a function of the calling ABI of the platform, not whether it is
64-bit or not.  This fixes the check for platforms like ARM that may
be 32-bit but that do not use the stdcall convention of callee stack
cleaning.

Signed-off-by: Donna Whisnant <dewhisna@dewtronics.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-06 12:15:28 +01:00
Alistair Leslie-Hughes 884c6ddd51 oleaut32/tests: Add VarDateFromStr test.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 10:44:35 +02:00
Alistair Leslie-Hughes 538e46adea oleaut32: Improve support for IDispatch in VarCat.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-14 21:22:50 +02:00
Nikolay Sivov 19b944d49c oleaut32/tests: Basic test for invalid arguments in LoadTypeLib/LoadTypeLibEx.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-07 11:24:48 +02:00
Jacek Caban e42a12d8b8 oleaut32/tests: Use static oleaut32 linking in vartest.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-30 21:49:50 +02:00