Commit graph

2597 commits

Author SHA1 Message Date
Huw Davies
edaf60d71a ole32/tests: Update tests to the new channel hook info structure.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:26 +09:00
Huw Davies
1ed2a613a7 ole32: Mask out the flag bit.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-02 23:34:26 +09:00
Alexandre Julliard
27a73216c0 ole32: Cope with receiving WM_RENDERALLFORMATS even when the clipboard is empty.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 22:02:04 +09:00
Alexandre Julliard
8df5add2d7 rpcss: Make rpcss a proper service.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-31 22:22:59 +09:00
Alexandre Julliard
295061a280 ole32/tests: Make the clipboard test more strict and remove Win9x compatibility cruft.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-17 14:26:59 +09:00
Michael Stefaniuc
11c67756d2 ole32/tests: Avoid casts from COM objects to ifaces.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 20:18:01 +09:00
Nikolay Sivov
4d0a353bcc ole32/tests: Fix indentation warning on GCC 6.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:22:37 +09:00
Michael Stefaniuc
b6a505f9a5 ole32/tests: Use todo_wine_if().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 12:54:20 +09:00
Andrey Gusev
3db78a2bb7 ole32: Use debugstr_guid() in TRACE() messages.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-22 21:34:43 +09:00
Michael Stefaniuc
66f13236fe ole32: Remove a redundant NULL check before CoTaskMemFree().
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-08 20:17:41 +09:00
Michael Stefaniuc
d17e760cb3 ole32: Standardize COM aggregation for the DataCache.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 16:19:43 +09:00
Michael Stefaniuc
08e571cf95 ole32: Avoid casts from the IMultiQI iface to the COM object.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-06 16:19:23 +09:00
Michael Stefaniuc
a60b189787 ole32: Standardize COM aggregation for the FreeThreadedMarshaler.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-05 23:22:04 +09:00
Michael Stefaniuc
123dd73591 ole32: Use the proper COM method wrapper.
Signed-off-by: Michael Stefaniuc <mstefani@redhat.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-03 10:20:28 +09:00
Marcus Meissner
113b290dba ole32: Allocate more for FmtIdToPropStgName (Coverity).
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-20 20:06:39 +09:00
Francois Gouget
e0a9e5ae26 ole32: Spelling fixes.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-31 22:42:00 +09:00
Nikolay Sivov
4e5698f72e ole32: Don't try to read key value if key was not found (Valgrind).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-30 11:15:16 +09:00
Andrey Gusev
e6199d6640 ole32: Fix a typo in comment.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-17 21:02:20 +09:00
Alex Henrie
776eebe80b ole32: Fix memory leak in FileMonikerImpl_ComposeWith.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-05 01:27:52 +09:00
Francois Gouget
1ec8fa53db ole32: Fix a typo in a TRACE() message.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 21:37:36 +09:00
Francois Gouget
147d8231e4 ole32/tests: Fix spelling errors in a couple of comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:17 +09:00
Alexandre Julliard
4f2db2ae0c ole32: Fix a couple of reference leaks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:26:52 +09:00
Alex Henrie
b045d72631 ole32: Implement StgOpenPropStg.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:26:52 +09:00
Alex Henrie
004e9f94e1 ole32: Implement StgCreatePropStg.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:26:52 +09:00
Alex Henrie
6e012b52cd ole32/tests: Add tests for StgCreatePropStg and StgOpenPropStg.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 18:26:52 +09:00
Alex Henrie
dddfd46934 ole32: Fix memory leaks in CompositeMonikerImpl_Construct.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:20:04 +09:00
Francois Gouget
f384ba52cd ole32: Rightmost spelling fix.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 21:57:47 +09:00
Francois Gouget
a648b87bff ole32/tests: Fix spelling of a test function name.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-14 13:16:02 +09:00
Francois Gouget
842bb8cb58 ole32/tests: Fix spelling of a few variable names.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-13 23:01:12 +09:00
Alex Henrie
0bac055b56 ole32: Fix sizeof mismatch in CompositeMonikerImpl_Construct.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 21:35:26 +09:00
Nikolay Sivov
fde61d467a ole32: Fix CreataDataCache() return value when requested riid is not IUnknown, for aggregation case.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 22:23:31 +09:00
Nikolay Sivov
7863247ec6 ole32: Make CoGetInstanceFromFile() propagate failure codes to returned MULTI_QI data (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 22:23:31 +09:00
Nikolay Sivov
254e76fc15 ole32/tests: Some tests for IInitializeSpy.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 12:13:29 +09:00
Nikolay Sivov
cf218bca42 ole32: Fix refcounting of IObjContext per-thread instance.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-15 17:45:45 +09:00
Nikolay Sivov
6fd208b41c ole32: Use CoGetApartmentType() to implement IComThreadingInfo.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 19:15:10 +09:00
Nikolay Sivov
5b7c9ecd09 ole32: Implement IComThreadingInfo::GetCurrentLogicalThreadId().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:22:27 +09:00
Nikolay Sivov
1105acd26a ole32: Implement CoGetCurrentLogicalThreadId().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:22:24 +09:00
Nikolay Sivov
a411ef99fc ole32/tests: A test to show data cache QI problems.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-11 20:22:08 +09:00
Nikolay Sivov
22ef1c7e2a ole32/tests: Fixed CoGetPSClsid() test failures when running on limited account.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-07 13:20:34 +09:00
Nikolay Sivov
2a1e856bd9 ole32/tests: Don't trace last error when error code is returned directly.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-07 13:20:32 +09:00
Nikolay Sivov
485a412b18 ole32/tests: Fix tests failing on limited account.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-07 13:20:30 +09:00
Nikolay Sivov
7c0b1b6268 ole32: Hold a lock when checking is spy is already registered.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:43:04 +09:00
Nikolay Sivov
cef4c7dc69 ole32: Improve CoRegisterMallocSpy/CoRevokeMallocSpy state and parameter validation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:43:04 +09:00
Nikolay Sivov
110665a3d8 ole32: Don't call spy on IMalloc::Free(NULL).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:43:04 +09:00
Michael Müller
381ce2956b ole32: Implement semi-stub for CoGetApartmentType.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 12:59:02 +09:00
Thomas Faber
b743127c3c ole32: Do not open registry keys with no access rights.
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 18:49:46 +09:00
Huw Davies
d468ed1e99 ole32/tests: Add more drag and drop tests.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
b262dad099 ole32/tests: Move tests to a table driven mechanism.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
9194c47ede ole32: Don't send DragOver if we're about to drop or cancel.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
b8fcc4a20a ole32: Move end-of-drag handling to a separate function.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
82b140f7b1 ole32: Move DragEnter handling to a separate function.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
9f6fd0e484 ole32: Release IDropTarget when the mouse leaves.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
f2530ca18f ole32: Move the GiveFeedback handling to a separate function.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:23 +09:00
Huw Davies
bf8e8f56f5 ole32: Remove curDragTargetHWND since it's never used.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-23 20:22:22 +09:00
Frédéric Delanoy
6936bbb198 ole32/tests: Use todo_wine_if() in tests.
Signed-off-by: Frédéric Delanoy <frederic.delanoy@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-22 17:37:09 +09:00
Huw Davies
bf5dca1976 ole32: The type of the size of IMalloc'ed blocks is SIZE_T.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-20 01:50:47 +09:00
Paul Gofman
d3b42a13d2 ole32/tests: OleGetClipboard should succeed when COM/OLE is not inited.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 23:52:35 +09:00
Paul Gofman
5d4b23e6e7 ole32: Zero output interface pointer in OleGetClipboard() on error.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 23:52:20 +09:00
Paul Gofman
b4b0c138fe ole32: Fix behaviour of OLE init/uninit.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-15 23:51:02 +09:00
Nikolay Sivov
0a34f25487 ole32/tests: A couple of tests for ReadClassStm/ReadClassStg.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:08:32 +01:00
Nikolay Sivov
8fe18a16f7 ole32: Properly implement OleRegGetUserType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-05 17:52:49 +01:00
Alexandre Julliard
3c84cc1807 ole32: Remove a no longer used constant.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:51:59 +01:00
Piotr Caban
d90ec79be2 ole32: Make clipboard latest_snapshot access thread safe.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-29 17:18:15 +01:00
Nikolay Sivov
d66af9c185 ole32/tests: Simple test for aggregation in CreateDataCache().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:50 +01:00
Nikolay Sivov
88111ca2c0 ole32/tests: Remove some casts we don't need, fix a couple of others.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:40 +01:00
Nikolay Sivov
b19ad3af80 ole32: Use OleRun() in OleCreate() instead of unrolling what it does.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:31 +01:00
Nikolay Sivov
73008a6c04 ole32: Ignore GetMiscStatus() returned value in OleCreate().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:25 +01:00
Nikolay Sivov
7ad896d541 ole32/tests: Some tests for OleRegGetUserType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 13:44:03 +01:00
Nikolay Sivov
98505b4076 ole32: Simplify OleRegGetUserType() using existing helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:35:40 +01:00
Nikolay Sivov
1219abfd8c ole32: Simplify OleRegGetMiscStatus() using existing helper, use read-only key permissions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:35:31 +01:00
Nikolay Sivov
12d73316e4 ole32: Fix parameter validation for CoGetMalloc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-23 16:35:19 +01:00
Piotr Caban
d7e302b52b ole32: Fix apartment window class name.
TestStand 2010 makes class name comparison when pumping RPC messages.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 19:50:27 +01:00
Piotr Caban
726698ab81 ole32: Fix minimal size check of compound file in StgOpenStorage.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-10 22:44:43 +09:00
Nikolay Sivov
f797f63d24 ole32/tests: Some tests for CoGetMalloc().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-04 21:56:18 +09:00
Andrey Gusev
8bfc9bd2ee Assorted typos fixes.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 15:38:30 +09:00
Jacek Caban
a1cc980bcb ole32: Use absolute key path in create_classes_root_hkey.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-18 00:29:45 +09:00
Jacek Caban
80c53b33fd ole32: Added DECLSPEC_HOTPATCHABLE to a few more functions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-13 11:52:58 +09:00
Dmitry Timoshkov
2d08613e87 ole32: Add more traces to the storage methods.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:38 +09:00
Dmitry Timoshkov
39d2ce5956 ole32: Relax media type check when loading CF_METAFILEPICT format from OLE storage.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 22:14:04 +09:00
Dmitry Timoshkov
b8800c237b ole32/tests: Add some tests for loading and drawing various OLE formats.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 22:02:20 +09:00
Jacek Caban
e4bc220802 ole32: Make CoInitializeEx hot patchable.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-03 00:33:27 +09:00
Dmitry Timoshkov
263b06ef8d ole32/tests: Add the tests to show that IEnumSTATSTG::Next should zero out returned stats when it reaches end of enumeration.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Dmitry Timoshkov
9f2bd8503d ole32: Zero out returned stats when IEnumSTATSTG::Next reaches end of enumeration.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Dmitry Timoshkov
7bc1005f56 ole32: Handle failure of reading directory entry in IEnumSTATSTG::Next.
Signed-off-by: Vincent Povirk <vincent@codeweavers.com>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:24 +09:00
Dmitry Timoshkov
421b3ca3eb ole32: Fallback to parsing the Presentation streams ff parsing of the "CONTENTS" stream fails.
I have an application that tries to load an existing object from the file
using OleLoad() and fails because the "CONTENTS" stream has clsid set to
"Microsoft Photo Editor 3.0 Picture". I've dumped the contents of the OLE
storage to disk for investigation, and under Windows (where Microsoft Photo
Editor is not installed, and registry has no traces of its class guids)
OleLoad() is able to load objects from this storage, and after that OleDraw()
successfully paints the object contents on the screen. I've written an
application to play with the dumped storage, and under Windows the "CONTENTS"
stream also can't be loaded, but the storage also contains the "OlePres000"
stream which contains an object in CF_METAFILEPICT format, and this one can be
loaded and painted.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 21:20:07 +09:00
Huw Davies
28b916b26e ole32: Fix ref counting in GetDataHere Proxy.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:15 +09:00
Huw Davies
ced5800b99 ole32: Correctly release an existing pointer when unmarshalling a NULL-ptr.
However, this should not be done in the case of pUnkForRelease.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:15 +09:00
Huw Davies
9021b96772 ole32/tests: Release the marshalled data in the expected buffers.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:14 +09:00
Huw Davies
6aa797e669 ole32: WdtpInterfacePointer_UserUnmarshal() should release an interface if one is passed in.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 00:58:14 +09:00
Dmitry Timoshkov
1b580e70e9 ole32: Print a FIXME when the "CONTENTS" stream refers to unsupported format.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 19:20:25 +09:00
Jacek Caban
c5b54b34e9 ole32: Call CoCreateInstanceEx from CoCreateInstance instead of the other way around.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 16:47:19 +09:00
Jacek Caban
dedcd30cb8 ole32: Pass requested interface IID to CreateInstance in CoCreateInstanceEx.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-22 16:47:15 +09:00
Huw Davies
cc1b2879e4 ole32: Set the release interface to NULL before calls to GetDataHere.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 21:57:22 +09:00
Dmitry Timoshkov
b9d8c2b1ea ole32: Initialize number of bytes read before the comparison.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 19:19:08 +09:00
Nikolay Sivov
4afda020ae ole32/tests: Use BOOL variables for BOOL return type (PVS-Studio).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:34 +09:00
Dmitry Timoshkov
f9bc636d35 ole32: PropVariantCopy should return DISP_E_BADVARTYPE in case of bad source variant type.
In some rare (notably for some VT_VECTOR) cases Windows implementation
returns STG_E_INVALIDPARAMETER, but returning DISP_E_BADVARTYPE should
cover most of cases.

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 00:25:33 +09:00
Huw Davies
5ae2b5ae93 ole32: Release interfaces as part of Stop.
This can now be done as Stop will no longer be called from within an object call.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:19 +09:00
Huw Davies
719c479a36 ole32: Defer calling Stop in an OnClose notification during an object call.
The OnClose notification may arrive during a call to the object.  Releasing the
object's interfaces at this point would be bad, so delay this until after the
object call returns.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:19 +09:00
Huw Davies
79598c4803 ole32: Call the cache's OnRun and OnStop methods.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:18 +09:00
Huw Davies
e4ec89f2b0 ole32: Return OLE_E_NOTRUNNING on a cache-miss when the object isn't running.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-15 00:53:18 +09:00
Huw Davies
4fcc5fec57 ole32: Always use object_is_running to check whether the object is running.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 20:36:55 +09:00
Huw Davies
a56a0eb063 ole32: Rewrite _Run() to return early on failure.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 20:36:43 +09:00
Huw Davies
afbb4afc6c ole32: Silence an incorrect fixme.
The remote unknown object should not implement IExternalConnection.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:28 +09:00
Huw Davies
1dcf3f8e0a ole32/tests: Test calling CoDisconnectObject from within a COM call to the object.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:21 +09:00
Huw Davies
327100fef9 ole32: Don't block inside CoDisconnectObject.
This may be called inside a COM call to the object.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:17 +09:00
Huw Davies
35571a7254 ole32: Hold a reference to the stub manager throughout an incoming call.
This will enable us to defer deleting the manager until the call has finished.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-14 12:43:13 +09:00
Huw Davies
09cd89c0cc ole32: Implement OleCreateFromFileEx.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:17:08 +09:00
Huw Davies
94ee4096ec ole32: Add a stub for OleCreateFromFileEx.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:17:02 +09:00
Huw Davies
d340f09a33 ole32: Don't try to load a handler - the real server is needed.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:16:51 +09:00
Huw Davies
577644f3c1 ole32: Test the result of IRunningObjectTable_GetObject against S_OK.
Typically it would return MK_E_UNAVAILABLE and not S_FALSE if the moniker
is not registered.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-09 19:16:43 +09:00
Jacek Caban
38a9a232f7 ole32: Use get_stub_manager_from_object in CoDisconnectObject. 2015-09-04 19:29:29 +09:00
Jacek Caban
cb183688bb ole32: Catch crashes in stub object destructors when destroying stub manager. 2015-09-02 22:45:17 +09:00
Jacek Caban
c784e34693 ole32: Quote executable name in CreateProcess call.
Fixes tests on VMs that have spaces in executable path.
2015-09-02 22:45:05 +09:00
Jacek Caban
0a92038b38 ole32: Added tests for IPSFactoryBuffer::CreateStub calls. 2015-08-29 14:28:23 +09:00
Jacek Caban
9bdb97e694 ole32: Use proper interface pointer in CreateStub call. 2015-08-29 14:28:23 +09:00
Jacek Caban
e5edbc6fa0 ole32: Use proper IUnknown implementation when finding and creating stub manager. 2015-08-29 14:28:22 +09:00
Jacek Caban
60451f9855 ole32: Create interface stub only if it's not already created. 2015-08-29 14:28:22 +09:00
Francois Gouget
25870c1fba ole32: A cosmetic fix for the CoMarshalInterface() trace. 2015-08-29 14:27:39 +09:00
Andrey Gusev
5cdcd4493f Assorted spelling and typos fixes. 2015-08-18 15:00:13 +09:00
Francois Gouget
f8a7d6ed74 Assorted spelling fixes. 2015-08-07 23:50:48 +09:00
Vincent Povirk
9d517a1727 ole32: Ignore high part of size in storage version 3 files. 2015-08-06 21:42:46 +09:00
Hans Leidekker
4062db444c ole32: Add stub implementations of CoGetActivationState and CoGetCallState. 2015-08-03 12:11:10 +02:00
Piotr Caban
9fd75e8650 ole32/tests: Fix new failures in CoWaitForMultipleHandles tests. 2015-07-31 12:07:41 +02:00
Piotr Caban
fbf7046ae8 ole32: Don't pump all messages in CoWaitForMultipleHandles in threads without apartment window. 2015-07-30 23:50:43 +02:00
Dmitry Timoshkov
76f9d93344 ole32: Fix a memory leak. 2015-07-13 22:08:38 +09:00
Damjan Jovanovic
372b0e1e80 ole32: Convey the Alt button state to the drop target. 2015-07-07 16:52:21 +09:00
Vincent Povirk
9cf835a947 ole32: Use grfLocksSupported to decide when LockRegion is implemented. 2015-07-07 16:52:21 +09:00
Vincent Povirk
8ff3783586 ole32: Add a storage test using a custom ILockBytes. 2015-07-07 16:52:21 +09:00
Dmitry Timoshkov
1f17334fc2 ole32: Accept STG_E_UNIMPLEMENTEDFUNCTION when ILockBytes implementation doesn't support locking.
Some custom implementations return it instead of STG_E_INVALIDFUNCTION.
2015-07-06 16:34:47 +09:00
Nikolay Sivov
64456de761 ole32: Handle EnumElements() failure (Coverity). 2015-06-29 18:51:02 +09:00
Nikolay Sivov
1e97a2db17 ole32/tests: Fix source buffer leak (Valgrind). 2015-06-22 15:31:54 +09:00
Nikolay Sivov
4cef7ad841 ole32: Fix a typo in argument name. 2015-06-17 18:19:55 +09:00
Nikolay Sivov
61368e76e4 ole32: Marshal HBRUSH as remotable handle. 2015-06-16 16:50:35 +09:00
Nikolay Sivov
6d53f071c6 ole32: Marshal HICON as remotable handle. 2015-06-15 22:10:31 +09:00
Nikolay Sivov
815197f28c ole32: Marshal HDC as remotable handle. 2015-06-15 22:10:31 +09:00
Vincent Povirk
3f83b788d4 ole32: Fix storage locking for read-only exclusive mode. 2015-06-12 21:22:42 +09:00
Nikolay Sivov
ff6201c61f ole32/tests: Test if user memory routines are called, remove some useless traces. 2015-06-05 18:38:21 +09:00
Nikolay Sivov
bfa23b637e ole32: Fix length of buffer allocated by SNB_UserUnmarshal() (Valgrind). 2015-06-04 15:55:53 +09:00
Nikolay Sivov
7c5f639cb8 ole32: Initialize returned value for disconnected case too in proxy_manager_get_remunknown() (Coverity). 2015-06-01 14:52:56 +09:00
Nikolay Sivov
5c0e48e8ca ole32: Avoid potential null pointer access (Coverity). 2015-06-01 14:52:52 +09:00
Nikolay Sivov
10c878a451 ole32: Implemented some proxy/stubs methods. 2015-06-01 14:43:02 +09:00
Sebastian Lackner
fdd83248b6 ole32/tests: Add additional tests for CoWaitForMultipleHandles and WM_QUIT. 2015-05-22 14:09:19 +09:00
Nikolay Sivov
aa3a234803 ole32: Implement SNB marshalling. 2015-05-15 21:58:06 +09:00
Francois Gouget
5f35f1a8db ole32/tests: Silence some clipboard traces that generate too many lines. 2015-05-12 22:32:34 +09:00
Nikolay Sivov
26a9f62db7 ole32/tests: Added a test for OleRun(). 2015-05-08 18:33:35 +09:00
Francois Gouget
514345b401 ole32: Make some storage32 functions static. 2015-05-04 15:07:39 +09:00
Francois Gouget
356748e6bc ole32: Reorder storage32 functions to avoid forward declarations. 2015-05-04 15:07:35 +09:00
Francois Gouget
58e47c612f ole32: Fix some storage32 comments. 2015-05-04 15:06:53 +09:00
Nikolay Sivov
bb37d75074 ole32/tests: Fix a test failure on Win8. 2015-05-01 21:12:42 +09:00
Nikolay Sivov
3d33d8a9c4 ole32/tests: Fix test failures on some VMs with limited user permissions. 2015-05-01 21:12:23 +09:00
Francois Gouget
7703852627 ole32; Fix some storage32 comments and standardize some virtual table names. 2015-04-27 15:08:46 +09:00
Huw Davies
a38699084b ole32/tests: Win 8 releases the drop target in OleUninitialize(). 2015-04-20 14:37:13 +09:00
Nikolay Sivov
961b1a270f ole32: Remove a couple of interface casts. 2015-04-06 12:09:17 +09:00
Huw Davies
f57e08995a ole32/tests: Add tests for loading a dib 'CONTENTS' stream. 2015-03-25 19:46:03 +09:00
Huw Davies
b0deb315a0 ole32: Implement QueryGetData(). 2015-03-25 19:45:58 +09:00
Huw Davies
b4cd2c4dbb ole32: Add support for drawing the dib format. 2015-03-25 19:45:55 +09:00
Huw Davies
e410f273cd ole32: Add support for retrieving extents of dib format. 2015-03-25 19:45:52 +09:00
Huw Davies
bbba2c00aa ole32: Add support for loading dibs. 2015-03-25 19:45:48 +09:00
Huw Davies
547fd746bb ole32: Separate metafile loading into a helper function. 2015-03-25 19:45:42 +09:00
Huw Davies
480c10cce9 ole32: Add support for parsing the 'CONTENTS' stream. 2015-03-25 19:45:36 +09:00
Huw Davies
d864387aaa ole32: Split the data loading into a couple of helpers. 2015-03-25 19:45:31 +09:00
Huw Davies
a4e3668f3f ole32: A cache entry should hold the stream its data is from, not the top-level storage. 2015-03-25 19:45:10 +09:00
Huw Davies
c5e020c5b5 ole32: Read the class id from the top-level storage object.
The cache_entries' storages are just references to the same object anyway.
2015-03-25 19:44:59 +09:00
Nikolay Sivov
597515c074 ole32/tests: Return interface pointer instead of impl pointer from QI. 2015-03-24 18:16:34 +09:00
Nikolay Sivov
7d44fa714a ole32: Return interface pointers instead of impl pointers from QI. 2015-03-24 18:16:30 +09:00
Nikolay Sivov
bc9b29f65d ole32: Cleanup QI for IEnumMoniker. 2015-03-20 16:23:12 +09:00
Nikolay Sivov
853dc5ec2f ole32: Improve error handling in GetClassFile() (PVS-Studio). 2015-03-20 16:23:10 +09:00
Nikolay Sivov
f294ea8333 ole32: Fix error handling in GetTimeOfLastChange() for item moniker (PVS-Studio). 2015-03-20 16:23:08 +09:00
Francois Gouget
f505e6fb4a Assorted spelling fixes. 2015-03-19 21:54:14 +09:00
Nikolay Sivov
3376648224 ole32/datacache: Handle stream Stat() failure (PVS-Studio). 2015-03-19 16:56:05 +09:00
Nikolay Sivov
1c2bbe8f65 ole32: Handle ILockBytes creation failure (PVS-Studio). 2015-03-17 14:19:12 +09:00
Francois Gouget
7fe0600237 ole32: Remove unneeded NONAMELESSXXX directives. 2015-03-17 14:18:54 +09:00
Nikolay Sivov
0e24c33332 ole32: Handle Stat() failure in OleLoad() (PVS-Studio). 2015-03-13 22:28:31 +09:00
Nikolay Sivov
24dce2b229 ole32: Handle some failures in Inverse() for composite moniker (PVS-Studio). 2015-03-13 22:28:31 +09:00
Nikolay Sivov
46914d8794 ole32: Check ComposeWith() return value too (PVS-Studio). 2015-03-13 22:28:31 +09:00
Sebastian Lackner
66e8060204 ole32: Wait a bit before doing next sanity check in StorageImpl_LockRegionSync. 2015-03-13 00:28:21 +09:00
Alexandre Julliard
c6c3ccad36 ole32: Remove confusing uses of the __thiscall specifier. 2015-03-12 14:20:33 +09:00
Sebastian Lackner
59a1bcd96a ole32: Fix call to free_stringtable with uninitialized pointer (Coverity). 2015-03-11 12:47:40 +09:00
Sebastian Lackner
83aca6e7aa ole32: Fix a possible handle leak (Coverity). 2015-03-11 12:46:54 +09:00
Vincent Povirk
0b7c05389b ole32: Fail to open storage files that are locked incorrectly. 2015-03-11 12:45:52 +09:00
Vincent Povirk
eead04803f ole32: Add a 20 second timeout when attempting to grab locks. 2015-03-11 12:45:49 +09:00
Vincent Povirk
1645f7b9e3 ole32: Accept only STG_E_INVALIDFUNCTION or success from LockRegionSync. 2015-03-11 12:45:42 +09:00
Vincent Povirk
c8791edbdf ole32: Don't use real synchronous locks for storage synchronization. 2015-03-11 12:45:38 +09:00
Vincent Povirk
06b735ae76 ole32: Test the entire range lock block for synchronization. 2015-03-11 12:45:33 +09:00
Nikolay Sivov
44360823b9 oleaut32: Use WdtpInterfacePointer_* functions in VARIANT marshalling. 2015-03-09 22:06:21 +09:00
Francois Gouget
fb908b3a95 ole32: Don't define NONAMELESSUNION in olestd.h. It's not needed anyway. 2015-03-06 12:53:55 +09:00
Sebastian Lackner
c23db594aa ole32: Fix an invalid usage of InterlockedCompareExchange. 2015-03-03 17:13:46 +09:00
André Hentschel
8af03fef9a ole32: Remove unused macros. 2015-02-23 15:25:56 +09:00
Michael Stefaniuc
73019d5e20 ole32: Remove an always true conditional subexpression (PVS-Studio). 2015-02-18 16:09:13 +09:00
Michael Stefaniuc
514951cc11 ole32: Return the buffer pointer when WdtpInterfacePointer_UserMarshal fails.
Found by PVS-Studio.
2015-01-19 14:20:50 +01:00
Michael Stefaniuc
139ebf643a ole32/tests: Remove unused assignments (PVS-Studio). 2015-01-19 14:20:36 +01:00
Michael Stefaniuc
c2da97a5e5 ole32/tests: Actually test some return codes (PVS-Studio). 2015-01-19 14:20:32 +01:00
Qian Hong
a940718a4d ole32: Make CoUninitialize and OleUninitialize hotpatchable. 2015-01-16 16:52:25 +01:00
Piotr Caban
95c57c618a ole32: Only change DoDragDrop return value on IDropTarget::Drop failure. 2015-01-15 14:06:24 +01:00
Nikolay Sivov
73419dc484 ole32: Return END_OF_CHAIN for chains starting with special sector values. 2014-12-29 22:20:29 +01:00
André Hentschel
065e4770f0 ole32/tests: Remove unused variable (Clang). 2014-12-02 10:48:37 +01:00
André Hentschel
ec8602a812 ole32: Remove unused string (Clang). 2014-12-02 10:31:21 +01:00
Sebastian Lackner
f6f55058e4 ole32: Don't process window events when APC calls are queued. 2014-11-21 20:10:04 +09:00
Sebastian Lackner
bbf6891030 ole32: Verify arguments for CoWaitForMultipleHandles, always initialize index to zero. 2014-11-21 20:10:01 +09:00
Sebastian Lackner
f7f2167fe8 ole32/tests: Add tests for CoWaitForMultipleHandles. 2014-11-21 20:09:58 +09:00