Commit Graph

2610 Commits

Author SHA1 Message Date
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
Nikolay Sivov 2487afa5d3 ole32/tests: Use proper wrappers for IObjContext methods. 2014-11-19 23:36:34 +09:00
Nikolay Sivov f7fdaf1c9f ole32/tests: Release() doesn't return HRESULT code. 2014-11-19 23:36:34 +09:00
Bruno Jesus 959ca6ac02 ole32: Avoid a possible null dereference. 2014-11-14 14:15:14 +09:00
Vincent Povirk bab4c36d47 ole32: Add support for pasting CF_BITMAP. 2014-11-14 14:13:01 +09:00
Akihiro Sagawa efdaa4a17a ole32: Search 32-bit registry in 64-bit CoGetPSClsid and vice versa. 2014-07-15 15:34:40 +02:00
Akihiro Sagawa 414398c1e7 ole32: Add KEY_WOW64 support in wrapper registry functions. 2014-07-15 15:33:59 +02:00
Akihiro Sagawa fae8d9db5f ole32/tests: Add CoGetPSClsid WOW64 registry tests. 2014-07-15 15:33:25 +02:00
Piotr Caban cdf2c5f2cb ole32: Don't do any message processing when we're already done with dragdrop operation. 2014-07-03 18:17:40 +02:00
Vincent Povirk 69ff6f74b2 ole32: Simplify the FileMonikerImpl_BindToStorage code. 2014-07-01 12:52:43 +02:00
Frédéric Delanoy 2ab8729020 Assorted spelling/grammar fixes. 2014-06-20 12:19:31 +02:00
Francois Gouget 082d091029 ole32: Return the correct error in FileLockBytesImpl_*LockRegion*(). 2014-06-18 19:55:45 +02:00
Francois Gouget bea2c6f2d5 ole32: Treat STG_E_LOCKVIOLATION the same way as STG_E_ACCESSDENIED as both indicate locking contention. 2014-06-18 19:55:40 +02:00
Francois Gouget cc4ad353d7 ole32: FileLockBytesImpl_WriteAt() should return STG_E_WRITEFAULT for write errors. 2014-06-18 19:55:29 +02:00
Francois Gouget 809b6aeab2 ole32: Fix StorageImpl_LockRegionSync() to actually wait between locking attempts. 2014-06-17 10:37:52 +02:00
Vincent Povirk a270ed90ad ole32: Add tests for STGC_OVERWRITE. 2014-06-16 09:28:45 +02:00
Andrew Eikum c2089cbd0d ole32: Respect TreatAs in CoCreateInstance. 2014-06-16 09:28:38 +02:00
Andrew Eikum 42f5118570 ole32: Implement CoTreatAsClass for classes without AutoTreatAs. 2014-06-16 09:28:29 +02:00
Andrew Eikum e9533ca85a ole32: Fix return type. 2014-06-13 16:22:28 +02:00
Andrew Eikum f02c0ae656 ole32: Fix return value logging. 2014-06-13 16:22:20 +02:00
Guillaume Charifi 216b24527d ole32: CoCreateGuid returns E_INVALIDARG on null-GUID. 2014-06-12 18:23:33 +02:00
Vincent Povirk 8107955273 ole32: Support storage files larger than 4 GB. 2014-06-12 13:19:04 +02:00
Vincent Povirk d32abd7726 ole32: Don't store file size in FileLockBytesImpl. 2014-06-11 13:06:00 +02:00
Vincent Povirk d89d43648f ole32: Invalidate all caches when the transaction sig changes. 2014-05-21 10:19:57 +02:00
Vincent Povirk 77e3de5828 ole32: Use a snapshot file when sharing storages for writing. 2014-05-21 10:19:51 +02:00
Vincent Povirk b3e26be0cb ole32: STGM_NOSNAPSHOT implies deny write. 2014-05-12 10:48:14 +02:00
Vincent Povirk cf75c5368b ole32: Use real blocking operations for storage locking when possible. 2014-05-09 14:16:12 +02:00
Vincent Povirk 45dd716e4e ole32: Warn in cases where we might corrupt storage files. 2014-05-09 14:16:08 +02:00
Vincent Povirk 4f0d36d9a0 ole32: Initial implementation of transaction locking. 2014-05-05 10:53:41 +02:00
Vincent Povirk b4ade51a84 ole32: Accept STGM_TRANSACTED with no share mode specified. 2014-05-05 10:53:38 +02:00
Vincent Povirk 6417a277cf ole32: Map STGM_SHARE_EXCLUSIVE to FILE_SHARE_READ. 2014-05-05 10:53:35 +02:00
Vincent Povirk 04735d6f39 ole32: Use share modes when creating storage files. 2014-05-05 10:53:30 +02:00
Vincent Povirk a60d41d70a ole32: Use symbolic names for range lock offsets. 2014-05-05 10:53:27 +02:00
Francois Gouget 3d70f86fe2 ole32/tests: Add a trailing '\n' to an ok() call. 2014-05-02 17:15:24 +02:00
Huw Davies dcfd901c83 ole32/tests: Fix win8 test failures. 2014-05-01 16:32:09 +02:00
Frédéric Delanoy 2e5cb7aac8 Assorted spelling/grammar fixes. 2014-04-30 18:34:20 +02:00
Vincent Povirk 65887802c5 ole32: Initial storage file locking implementation. 2014-04-29 11:26:51 +02:00
Vincent Povirk e6c58c74ad ole32: Reserve the range lock sector. 2014-04-29 11:26:47 +02:00
Vincent Povirk a00f43d7e0 ole32/tests: Add tests for sharing storages in transacted mode. 2014-04-29 11:26:33 +02:00
Vincent Povirk b8c60aaeec ole32/tests: Add tests for storage locking. 2014-04-29 11:25:55 +02:00
Dmitry Timoshkov 5356c945cd ole32: Add support for VT_DISPATCH/VT_UNKNOWN to PropVariantClear and PropVariantCopy. 2014-04-21 11:09:53 +02:00
Dmitry Timoshkov f9c40c37cd ole32: If number of VT_VECTOR elements is 0 there is no need to allocate memory. 2014-04-18 13:09:19 +02:00
Dmitry Timoshkov d68c13a894 ole32/tests: Add some tests for PropVariantCopy. 2014-04-18 13:09:11 +02:00
Dmitry Timoshkov 5e7251b937 ole32: Revert part of 3cb0c81336.
VT_INT|VT_VECTOR and VT_UINT|VT_VECTOR are not supposed to be supported
by PropVariantClear and PropVariantCopy.
2014-04-18 13:08:59 +02:00
Dmitry Timoshkov f35078ee40 ole32/tests: Fix crashes in PropVariantClear tests under win64. 2014-04-18 13:08:57 +02:00
Dmitry Timoshkov ccefbee73b ole32/tests: Fix crashes in PropVariantClear tests under win2000 and XP. 2014-04-17 10:44:55 +02:00
Dmitry Timoshkov 0946c154fa ole32: PropVariantClear should always reset contents of the passed in PROPVARIANT. 2014-04-16 10:55:07 +02:00
Dmitry Timoshkov 7de7fc653b ole32/tests: Add more tests for PropVariantClear. 2014-04-16 10:54:54 +02:00
Dmitry Timoshkov 3cb0c81336 ole32: Add support for VT_INT/VT_UINT to PropVariantClear and PropVariantCopy. 2014-04-16 10:54:48 +02:00
Piotr Caban 2fbbe143be ole32: Add more SetConvertStg amd WriteFmtUserTypeStg tests. 2014-04-07 19:06:42 +02:00
Piotr Caban 0d4c693a7b ole32: Add OleDoAutoConvert implementation. 2014-04-07 19:06:39 +02:00
Piotr Caban 2db5418e02 ole32: Get CLSID from IStorage object in WriteFmtUserTypeStg. 2014-04-07 19:06:36 +02:00
Piotr Caban 046d7c6d42 ole32: Try to open 1Ole stream before trying to create it in SetConvertStg function. 2014-04-07 19:06:33 +02:00
Piotr Caban f83d24d4f7 ole32: Don't write empty CLIPFORMAT in WriteFmtUserTypeStg. 2014-04-07 19:06:28 +02:00
Piotr Caban 306e98425b ole32: Null terminate strings in STREAM_ReadString function. 2014-04-07 19:06:26 +02:00
Nikolay Sivov 4768ac4413 ole32: Fix leaks on error paths (Coverity). 2014-03-25 10:56:35 +01:00
Nikolay Sivov 43b5f46fcd ole32: Fix some leaks on early returns (Coverity). 2014-03-25 10:56:29 +01:00
Piotr Caban 770213e16c ole32: Update reference counter of returned moniker in CreateGenericComposite. 2014-03-10 19:13:56 +01:00
Vincent Povirk 2e384c4f95 ole32: Use pstgPriority if specified in StgOpenStorage. 2014-03-05 11:48:57 +01:00
Daniel Lehman cdc03fa9b8 ole32: Make some COM functions hot-patchable. 2014-03-05 11:48:13 +01:00
Piotr Caban 9f9fb6b7f1 ole32/tests: Fix DoDragDrop tests. 2014-03-04 11:50:50 +01:00
Stefan Dösinger 97569e4e4a ole32: Make CoCreateInstance hookable for Steam. 2014-03-03 17:46:47 +01:00
Piotr Caban 6d1ab7fa16 ole32: Add more DoDragDrop tests. 2014-03-03 17:02:35 +01:00
Piotr Caban efbd52983a ole32: Fix DROPEFFECT value in OLEDD_TrackStateChange. 2014-03-03 17:02:33 +01:00
Piotr Caban 68d3a136f6 ole32: Merge OLEDD_TrackMouseMove and OLEDD_TrackStateChange functions. 2014-03-03 17:02:32 +01:00
Piotr Caban bc2c6d39a6 ole32: Change DoDragDrop return value on IDropTarget::Drop call. 2014-03-03 17:02:31 +01:00
Nikolay Sivov ffcced0f39 ole32/tests: Handle context generation failure better. 2014-02-20 11:20:00 +01:00
Frédéric Delanoy a0c258460b ole32/tests: Use wine_dbgstr_guid for printing GUIDs. 2014-02-12 19:15:21 +01:00
Nikolay Sivov e593c3068c ole32: Remove ERR() output that's not really helpful. 2014-02-11 19:19:13 +01:00
Nikolay Sivov 747c649d99 ole32: Use precomposed table for GUID from string conversion. 2014-02-11 19:19:13 +01:00
Frédéric Delanoy 0f2bed51bd Assorted spelling fixes. 2014-02-10 15:47:29 +01:00
Nikolay Sivov cdd932a060 ole32: Separate IIDFromString() for CLSIDFromString(), fix corner cases and return values. 2014-02-10 10:42:57 +01:00
Nikolay Sivov d1c4871012 ole32: Use CoTaskMemAlloc() instead of IMalloc directly. 2014-02-10 10:42:29 +01:00
Nikolay Sivov 62d9b5a0e0 ole32: Implement CoGetInstanceFromIStorage(). 2014-02-07 11:05:14 +01:00
Nikolay Sivov 35f218c39e ole32: Implement CoGetInstanceFromFile(). 2014-02-06 17:08:14 +01:00
André Hentschel b1fed4e9f1 ole32: Use boolean return value in boolean function. 2014-01-29 17:29:05 +01:00
Frédéric Delanoy 86a9e6a366 ole32/tests: Use common wine_dbgstr_guid implementation from test.h. 2014-01-29 14:50:52 +01:00
Alexandre Julliard 0d533cf0bd makefiles: Allow define arguments to be specific to a single file. 2014-01-07 12:20:25 +01:00
Alexandre Julliard 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Alexandre Julliard 5e7416e5c8 makefiles: Get rid of the MAKE_DLL_RULES variable. 2014-01-02 12:08:18 +01:00
Alexandre Julliard 1adaad4c89 makefiles: Remove no longer needed dlldata.o and testlist.o extra objects. 2013-12-31 19:05:12 +01:00
Alexandre Julliard d08ff3ff19 makefiles: Use a single variable for all types of idl files. 2013-12-31 18:15:17 +01:00
Nikolay Sivov f041c2c554 ole32: Call moniker methods with proper wrappers. 2013-12-31 12:27:05 +01:00
Frédéric Delanoy 43d05cc59e ole32/tests: Constify some character strings. 2013-12-27 14:31:53 +01:00
Nikolay Sivov 5f66fb4feb ole32: Fix a memory leak caused by copy/pasted fragment (Coverity). 2013-12-09 11:42:53 +01:00
Nikolay Sivov b968c9c542 ole32: Fix refcount of returned enumeration instances. 2013-12-06 13:15:22 +01:00
Nikolay Sivov aeb35b20ec ole32: Store categories with offset so it's possible to copy them directly. 2013-12-06 13:15:19 +01:00
Nikolay Sivov 4de8d4b0ba ole32: Use private define for char length of GUID string representation. 2013-12-06 13:15:15 +01:00