Commit Graph

2600 Commits

Author SHA1 Message Date
Huw Davies 25b136d400 ole32: Don't free handles that are just copied in the inproc case.
Based on a patch by Zebediah Figura.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46270
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-13 11:48:02 +01:00
Alex Henrie a05ce6ac6f ole32: Turn several variables into static constants.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-12-04 23:27:08 +01:00
Michael Stefaniuc 2d735f076d ole32/tests: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-15 23:02:07 +01:00
Piotr Caban aa1cfbbcc8 ole32/tests: Add free threaded marshaler GetUnmarshalClass tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:54:21 +02:00
Piotr Caban 4e58d594c1 ole32/tests: Add DfMarshal custom marshaling tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:54:18 +02:00
Piotr Caban 3c2764cc95 ole32/tests: Add StdMarshal custom marshaling test.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:54:13 +02:00
Piotr Caban b2b5f81861 ole32/tests: Add standard marshaling data tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:54:07 +02:00
Piotr Caban 11eb273c28 ole32/tests: Add initial CoGetStandardMarshal tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:54:03 +02:00
Piotr Caban f9686b69d0 ole32/tests: Import uuid.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:53:59 +02:00
Piotr Caban 0725276f0f ole32: Change returned size in CoGetMarshalSizeMax if object implements IMarshal.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:53:49 +02:00
Piotr Caban 475b2d6b5f ole32: Make standard marshaler responsible for marshaling OBJREF header.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:53:47 +02:00
Piotr Caban 862ea5074a ole32: Use CLSID_StdMarshal in standard marshaler.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:53:45 +02:00
Piotr Caban 6cc09e3424 ole32: Don't pass incorrect iface pointer to StdMarshalImpl functions.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-15 13:53:43 +02:00
Piotr Caban f9beb7ff10 ole32: Add more IStorage clipboard tests.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 11:03:41 +02:00
Piotr Caban 01c6002a49 ole32: Improve OleClipboardData GetData implementation.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 11:03:41 +02:00
Piotr Caban 0196eee8a8 ole32: Change DataObjectImpl_GetData return value to show more implementation problems.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 11:03:41 +02:00
Piotr Caban b8c7b33106 ole32: Add IDataObject_GetData tests on synthesized format.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 11:03:41 +02:00
Piotr Caban 058110369d ole32: Initialize more FORMATETC fields using InitFormatEtc helper.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-27 11:03:41 +02:00
Zebediah Figura 904d1688a3 ole32: Use the real proxy IID in ClientRpcChannelBuffer_GetBuffer().
Delegated proxies pass the IID of the parent interface to
NdrProxyGetBuffer(). However, this interface was never registered with ole32
on the server side, so calls to delegated methods will return
RPC_S_UNKNOWN_IF. Therefore we have ole32 ignore the passed-in parameter and
use the real proxy ID.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45673
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-09-17 15:37:41 +02:00
Francois Gouget 8330192951 ole32/tests: Fix spelling of a variable name.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-14 19:10:10 +02:00
Jactry Zeng 68e35eb745 ole32: Partially implement OleCreateStaticFromData() for OLERENDER_FORMAT.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=42710
Signed-off-by: Jactry Zeng <jzeng@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-05 17:00:20 +02:00
Nikolay Sivov bc5e9207d9 ole32: Rename a helper to reflect its purpose better.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 15:59:12 +02:00
Nikolay Sivov 0430efb4a6 ole32: Try 'dll' extension when looking for registration-free modules.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-20 15:59:09 +02:00
Marcus Meissner 71c3bf2bf8 ole32: Read vt into a DWORD, as propvariant->vt is 16 bit (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 09:40:17 +02:00
Michael Müller b7f3e26e89 ole32: Support reading VT_BOOL, VT_R8 and VT_I8 into propery storage.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-18 14:12:13 +02:00
Michael Stefaniuc d93954bd93 ole32: Use the ARRAY_SIZE() macro.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-17 22:35:50 +02:00
Alex Henrie 6187e8db0b ole32: Return IUnknown from GITCF_CreateInstance if requested.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-10 18:59:08 +02:00
Michael Stefaniuc 9cad95d198 ole32: Use the more common ARRAY_SIZE spelling.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-09 10:48:28 +02:00
André Hentschel 355f6b24d2 ole32/tests: Don't crash if EnumFormatEtc failed.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-07-03 11:17:40 +02:00
Michael Stefaniuc 77376000ba ole32/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-13 22:13:27 +02:00
Thomas Faber 64041e69e3 ole32/tests: Store GUIDs by reference.
Fixes MSVC build.

Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-05 16:07:18 +02:00
Jacek Caban fd67e394e6 ole32: Don't try to unregister window class if it was never registered.
UnregisterClass may load display driver, which is may be problematic
inside DLL_PROCESS_DETACH (esp. in Android drivers, which imports ole32
itself).

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-06-04 14:22:38 +02:00
Jacek Caban d9677b1f2a ole32/tests: Fixed tests on win64.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-29 17:13:26 +02:00
Jacek Caban df6b7324df ole32: Use queried interface destination context for marshaling RemQueryInterface result.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 12:09:15 +02:00
Jacek Caban d1a480a2c9 ole32: Introduce new ipid_to_ifstub helper and use it in ipid_get_dispatch_params.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 12:09:02 +02:00
Jacek Caban 7f83dd11a4 ole32/tests: Add IRpcChannelBuffer and IRpcStubBuffer tests.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 12:08:59 +02:00
Jacek Caban 3834a6e382 ole32/tests: Pass host_object_data struct as an argument to start_host_object2.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-25 10:50:24 +02:00
Zebediah Figura 5293cb7183 ole32: Fix conditions in HGLOBAL_User*().
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-04-13 14:35:10 +02:00
Sergio Gómez Del Real edb7f51209 ole32/tests: Add tests for loading from presentation streams to data cache.
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:21:02 +02:00
Sergio Gómez Del Real 33fd878728 ole32: Reset CLSID of datacache so that automatic entry is re-created on load.
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:21:00 +02:00
Sergio Gómez Del Real 0792209187 ole32: Add support for loading wmf from contents streams to data cache.
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:58 +02:00
Sergio Gómez Del Real a1a99f014c ole32: Add support for loading dibs from presentation streams to data cache.
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:56 +02:00
Sergio Gómez Del Real 3350cf2320 ole32: Add support for loading enhmetafiles from presentation and contents streams to data cache.
Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-12 13:20:54 +02:00
Zebediah Figura 95299607f9 ole32: Allow marshalling objects from an implicit MTA.
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-04-10 11:15:13 +02:00
Zebediah Figura a4cf16db08 ole32: Allow unmarshalling objects into an implicit MTA.
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-04-10 11:15:11 +02:00
Zebediah Figura 084559fe85 ole32/tests: Test CoWaitForMultipleHandles() in an uninitialized or MTA apartment.
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-04-10 11:15:06 +02:00
Zebediah Figura a11951841c ole32: Report the implicit MTA in CoGetApartmentType().
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-04-10 11:15:05 +02:00
Zebediah Figura 878e15e25f ole32: Allow more functions to use the implicit MTA.
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-04-10 11:15:03 +02:00
Zebediah Figura 5e752db1ba ole32: Add a helper for grabbing the current apartment or MTA.
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-04-10 11:15:00 +02:00
Zebediah Figura 6af0e50f36 ole32: Always grab a reference to apt in CoGetClassObject().
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-04-09 15:39:16 +02:00