Commit Graph

948 Commits

Author SHA1 Message Date
Huw Davies ca2607db32 ole32: Implement IOleCache2_UpdateCache().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-31 17:00:49 +01:00
Huw Davies c3fe4b87d6 ole32: TYMED_NULL is not valid.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-31 17:00:49 +01:00
Huw Davies 12718fe021 ole32: A presentation cache for DVASPECT_ICON must have format CF_METAFILEPICT.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-31 17:00:49 +01:00
Huw Davies 8d0a53e60d ole32: Adding a view cache for DVASPECT_ICON produces a CF_METAFILEPICT cache entry.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-31 17:00:49 +01:00
Dmitry Timoshkov f7eabdf3a8 ole32: Remove an optimization from DataCache_Save() that copies whole original 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>
2017-10-20 18:59:35 +02:00
Dmitry Timoshkov 19385780ca ole32/tests: Add a test for IOleCache storage contents created by IPersistStorage_Save().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-20 18:59:35 +02:00
Dmitry Timoshkov 970c5b1dd2 ole32/tests: Add a test for saving an IOleCache 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>
2017-10-20 18:59:35 +02:00
Huw Davies 87ccecbfa2 ole32: In the non-aggregated case a request for IUnknown actually returns IOleCache2.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-05 19:33:09 +02:00
Zebediah Figura a56bc8f93b ole32: Store proxy/stub CLSIDs per process, not per apartment.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-08 20:02:14 +09:00
Alex Henrie 5a3b87a0fd ole32: Avoid null pointer dereferences in CoGetTreatAsClass.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-06 18:50:59 +02:00
Huw Davies 292f8266b9 ole32/tests: Add tests for InitNew().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:47:14 +02:00
Huw Davies 51cca0b118 ole32/tests: Add tests for automatic cache entry creation.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:47:14 +02:00
Huw Davies 705ccd7488 ole32: Start allocating regular cache entries with id of 2.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:47:13 +02:00
Huw Davies 026756482a ole32: Fix incorrectly assigned member in the presentation stream.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-06 13:47:13 +02:00
Huw Davies 2e363267eb ole32: Synthesize dibs or bitmaps as appropriate.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:29:46 +02:00
Huw Davies e27708f2fd ole32: Create CF_DIB and CF_BITMAP entries when either is cached.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:29:33 +02:00
Huw Davies 8fc1a4cd86 ole32: OleUninitialize() does not release the reference to the clipboard's source dataobject.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:28:04 +02:00
Huw Davies 1d2860e54c ole32: Fix up the dib's resolution on loading.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:37:46 +02:00
Nikolay Sivov 3237c5ed84 ole32/tests: Test pointer returned by ProgIDFromCLSID() on failure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 21:51:39 +02:00
Alistair Leslie-Hughes 3ca00ff857 ole32/tests: Stop crash on XP.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 14:19:10 +01:00
Thomas Faber 87dba2bbd0 ole32: Zero STGMEDIUM before calling IDataObject::GetData.
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>
2017-02-28 15:33:18 +01:00
Jacek Caban c7e6fe6cdf ole32: Added GlobalOptions object stub implementation.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-23 13:15:45 +01:00
Alexandre Julliard 526b19551b ole32/tests: Add a test for WM_DRAWCLIPBOARD during OleSetClipboard.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-02 12:14:49 +01:00
Nikolay Sivov 3e2ed9c761 ole32/tests: Some tests for returned apartment type in implicit MTA case.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-26 18:53:11 +01:00
Alexandre Julliard 8865f4a4ec user32: Synthesize text clipboard formats on the user32 side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 00:34:24 +09:00
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
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
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
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
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
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 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 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
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
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
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
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 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 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
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
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
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
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
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
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 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 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
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
Andrey Gusev 5cdcd4493f Assorted spelling and typos fixes. 2015-08-18 15:00:13 +09: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
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
Nikolay Sivov 1e97a2db17 ole32/tests: Fix source buffer leak (Valgrind). 2015-06-22 15:31:54 +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
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
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
Huw Davies a38699084b ole32/tests: Win 8 releases the drop target in OleUninitialize(). 2015-04-20 14:37:13 +09:00
Huw Davies f57e08995a ole32/tests: Add tests for loading a dib 'CONTENTS' stream. 2015-03-25 19:46:03 +09:00
Nikolay Sivov 597515c074 ole32/tests: Return interface pointer instead of impl pointer from QI. 2015-03-24 18:16:34 +09:00
Alexandre Julliard c6c3ccad36 ole32: Remove confusing uses of the __thiscall specifier. 2015-03-12 14:20:33 +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
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
André Hentschel 065e4770f0 ole32/tests: Remove unused variable (Clang). 2014-12-02 10:48:37 +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
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 fae8d9db5f ole32/tests: Add CoGetPSClsid WOW64 registry tests. 2014-07-15 15:33:25 +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
Guillaume Charifi 216b24527d ole32: CoCreateGuid returns E_INVALIDARG on null-GUID. 2014-06-12 18:23:33 +02:00
Vincent Povirk b3e26be0cb ole32: STGM_NOSNAPSHOT implies deny write. 2014-05-12 10:48:14 +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
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
Vincent Povirk 65887802c5 ole32: Initial storage file locking implementation. 2014-04-29 11:26:51 +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
Vincent Povirk 2e384c4f95 ole32: Use pstgPriority if specified in StgOpenStorage. 2014-03-05 11:48:57 +01:00
Piotr Caban 9f9fb6b7f1 ole32/tests: Fix DoDragDrop tests. 2014-03-04 11:50:50 +01:00
Piotr Caban 6d1ab7fa16 ole32: Add more DoDragDrop tests. 2014-03-03 17:02:35 +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 cdd932a060 ole32: Separate IIDFromString() for CLSIDFromString(), fix corner cases and return values. 2014-02-10 10:42:57 +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 99ef0d6ff0 makefiles: Get rid of the MAKE_TEST_RULES variable. 2014-01-02 12:13:16 +01:00
Frédéric Delanoy 43d05cc59e ole32/tests: Constify some character strings. 2013-12-27 14:31:53 +01:00
André Hentschel 04f5160c93 ole32/tests: Don't crash when StgOpenStorage fails. 2013-11-27 10:53:47 +01:00
Nikolay Sivov d0bf7f4eaf ole32: Added activation context support for OleRegGetMiscStatus(). 2013-11-11 20:56:20 +01:00
Nikolay Sivov 0af3bd8365 ole32: Support activation context in CLSIDFromProgID(). 2013-10-25 11:12:31 +02:00
Nikolay Sivov f96631e110 ole32: Add a helper to map ProgID to CLSID using registry. 2013-10-25 11:12:27 +02:00
Huw Davies 5077fc895f ole32: If an object exposes IExternalConnection then don't take down the stub manager if we have remaining weak refs in a call that would otherwise ignore them. 2013-10-24 19:01:57 +02:00
Huw Davies 1864db2faa ole32: Call IExternalConnection_ReleaseConnection with the correct final parameter. 2013-10-24 19:01:57 +02:00
Huw Davies 8235b55917 ole32: When releasing marshal data of a normal ref ignore any remaining weak refs. 2013-10-24 19:01:56 +02:00
Huw Davies 17d81e0987 ole32/tests: Add some tests for CoReleaseMarshalData with a combination of normal and weak marshals. 2013-10-24 19:01:56 +02:00
Huw Davies 61fb28de3f ole32/tests: Make the two reference marshalling thread more generic. 2013-10-24 19:01:56 +02:00
Huw Davies 14a879085e ole32/tests: Extend the lifecycle tests to objects which expose IExternalConnection. 2013-10-24 19:01:56 +02:00
Nikolay Sivov 03dbbe2103 ole32: Support activation context in ProgIDFromCLSID(). 2013-10-22 16:37:41 +02:00
Nikolay Sivov e02b1687aa ole32: Support activation context redirection in CoGetPSClsid(). 2013-10-22 16:37:40 +02:00
Nikolay Sivov af93b53082 ole32: Support registration-free COM in CoGetClassObject(). 2013-10-21 20:23:55 +02:00
Huw Davies 29c6e10fd8 ole32/tests: Add tests to show that CoLockObjectExternal() calls ReleaseConnection() with the appropriate value for fLastReleaseCloses. 2013-10-18 16:56:57 +02:00
Nikolay Sivov 026b711483 ole32/tests: Compile with -D__WINESRC__. 2013-10-16 11:41:18 +02:00
Michael Stefaniuc 0e681027a2 tests: Compile the tests by default with -D__WINESRC__. 2013-10-02 11:04:02 +02:00
Nikolay Sivov 84d9b2502e ntdll: Added compatible ProgID section. 2013-09-13 10:54:53 +02:00
Nikolay Sivov 8902aae991 ole32/tests: Some tests for redirection in CoGetPSClsid(). 2013-08-30 11:46:46 +02:00
Nikolay Sivov c192885df4 ole32: Missing MiscStatus key is not a failure for OleRegGetMiscStatus(). 2013-08-27 11:50:53 +02:00
Nikolay Sivov 15bc45a54c ole32/tests: Test for OleRegGetMiscStatus() redirection behaviour. 2013-08-26 17:29:24 +02:00
Nikolay Sivov 98f3ecc32a ole32: GIT can be released on process detach only. 2013-08-23 10:41:24 +02:00
Nikolay Sivov 43d5d86716 ole32: Fix IClassFactory initialization and QueryInterface behavior for GIT. 2013-08-22 10:28:17 +02:00
Nikolay Sivov 7a69c2f169 ole32/tests: More tests that actually show CLSID/ProgId redirection in action. 2013-07-19 11:57:01 +02:00
Nikolay Sivov cf087d0eb7 ole32/tests: Tests for CLSIDFromProgID() and ProgIDFromCLSID(), regarding activation context. 2013-07-12 17:57:45 +02:00
Jacek Caban a2aefe917e ole32/tests: Added tests for external connections stored in ROT. 2013-06-27 15:31:33 +02:00
Dmitry Timoshkov b02951dfa7 ole32/tests: Make sure that key "Software\\Classes" exists under HKEY_CURRENT_USER. 2013-06-11 11:29:45 +02:00
Dmitry Timoshkov ac13aa28ad ole32/tests: Test remaining class, object and server reference counts at server exit. 2013-06-11 11:29:29 +02:00
Dmitry Timoshkov 2daa5367f8 ole32/tests: Add a test for local server interaction using an in-process handler. 2013-06-10 12:38:31 +02:00
Dmitry Timoshkov 289437dc4d ole32/tests: Remove redundant code. 2013-06-10 12:38:31 +02:00
Dmitry Timoshkov eeca784b70 ole32: Add a basic OLE client/server test suite. 2013-06-07 17:40:41 +02:00
Alistair Leslie-Hughes f0806fd68c ole32/tests: Check function pointer. 2013-06-03 22:55:27 +02:00
Alistair Leslie-Hughes 0f4c77d877 ole32/tests: Fix crash under NT. 2013-06-03 22:55:21 +02:00
Dmitry Timoshkov 748c3ea9c9 ole32: Add a couple more defaulthandler tests. 2013-05-30 20:19:32 +02:00
Alistair Leslie-Hughes 97ac6943c3 ole32: Fix test under NT. 2013-05-29 11:26:13 +02:00
Jacek Caban 889112a29a ole32: Use a separated object to expose local servers instead of marshaling them in CoRegisterClassObject. 2013-05-23 20:03:17 +02:00
Alexandre Julliard aaa680bfda ole32/tests: Fix array indices in a trace. 2013-05-21 14:57:53 +02:00
Jacek Caban fdc4d40d18 ole32: Added more default handler QueryInterface tests. 2013-05-10 17:53:05 +02:00
Nikolay Sivov a06db6cce5 ole32: Stub for IDirectWriterLock. 2013-04-18 17:00:17 +02:00
Nikolay Sivov c29f3dff8c ole32: Accept STGM_DIRECT_SWMR mode. 2013-04-18 17:00:12 +02:00
Nikolay Sivov a90c1efe51 ole32: Move share/access modes to static arrays. 2013-04-18 16:59:56 +02:00
Piotr Caban c0a17a4f09 ole32: Don't pass CLSCTX_INPROC_SERVER and CLSCTX_INPROC_HANDLER flags to CoCreateInstance in DefaultHandler_Run. 2013-02-27 19:23:48 +01:00
Piotr Caban 0cf2b77aed ole32: Added more OleCreateDefaultHandler tests. 2013-02-27 19:23:47 +01:00
Roman Dadkov 665717ae75 ole32/tests: Add test for OleRun. 2013-02-15 11:55:37 +01:00
Roman Dadkov 8a4557ac8b ole32/tests: Add test for SetClientSite. 2013-02-13 20:39:42 +01:00
Francois Gouget f963f93964 Assorted spelling fixes. 2013-01-07 11:10:40 +01:00
Qian Hong 9b90ea557b ole32: Fix OleDraw() with NULL pUnk. 2012-12-06 22:52:15 +01:00
Hans Leidekker 7895eae15b ole32: Convert the remaining RegCreateKey and RegOpenKey calls to the wrappers. 2012-11-26 16:59:22 +01:00
Hans Leidekker a82c49028d ole32: Use wrappers around NT functions to access the registry in CoGetPSClsid. 2012-11-26 16:59:17 +01:00
Nikolay Sivov 6a8b4f11a8 ole32: Fix OleDraw() regarding passed rectangle handling. 2012-11-26 11:57:04 +01:00
Hans Leidekker 479b7bcf60 ole32/tests: Add a test to show that CoGetPSClsid is not affected by an override of HKEY_CLASSES_ROOT. 2012-11-22 17:35:30 +01:00
Michael Stefaniuc 470ad72b05 ole32/tests: Fix a memleak on an error path (Smatch). 2012-10-31 16:12:27 +01:00
Alexandre Julliard cba98a2d8e ole32/tests: Fix a test failure on newer Windows versions. 2012-10-12 11:54:03 +02:00
Vincent Povirk 718f095629 ole32: Add tests for StgConvertVariantToProperty. 2012-10-08 12:55:26 +02:00
André Hentschel fb383cd5a6 ole32/tests: Use IUnknown_Release instead of deprecated WdtpInterfacePointer_UserFree. 2012-09-27 22:21:55 +02:00
Vincent Povirk 0a5086ab64 ole32: Add support for reading BSTR properties. 2012-08-28 14:40:57 +02:00
Vincent Povirk 58c2462c36 ole32: Implement StgConvertPropertyToVariant. 2012-08-28 14:40:38 +02:00
Vincent Povirk ae722c45ad ole32: Add tests for StgConvertPropertyToVariant. 2012-08-28 14:40:33 +02:00
Jacek Caban b3b390d8ac ole32: Added ISynchronizeHandle tests. 2012-08-13 16:28:49 +02:00
Jacek Caban df4f027238 ole32/tests: Use proper helpers for iface calls. 2012-08-13 16:28:48 +02:00
Michael Stefaniuc 43ae84636a ole32: Avoid TRUE:FALSE conditional expressions. 2012-08-13 11:50:42 +02:00
Nikolay Sivov e45202fdae ole32: Remove unsupported interface REFIID from storage stream QueryInterface. 2012-07-18 11:14:04 +02:00
Nikolay Sivov 959814a3bd ole32: Fix QueryInterface for IErrorInfo to return IUnknown pointer. 2012-07-17 12:50:20 +02:00
Nikolay Sivov 3956296128 ole32: Implement SetConvertStg(). 2012-07-16 15:21:45 +02:00
Nikolay Sivov 7b373edb81 ole32: Implement GetConvertStg(). 2012-07-13 10:28:42 -05:00
Dmitry Timoshkov 574a52e522 ole32: Add VT_I1 to the list of supported variant types. 2012-06-12 10:21:49 +02:00
Alexandre Julliard 2736d28064 ole32: Add a NULL pointer check in CoDisconnectObject. 2012-05-14 18:24:19 +02:00
Bruno Jesus 2cd2628c7b ole32: Make sure StgIsStorageILockBytes tests real data. 2012-04-16 17:49:30 +02:00
Alistair Leslie-Hughes d764b5188e ole32/tests: Assign a default value (clang). 2012-03-16 13:02:51 +01:00
Francois Gouget a603e9871e include: Add a few missing include directives to shlguid.h. 2011-12-20 10:16:45 +01:00
Francois Gouget 3c3a4740ca include: Add a couple of missing include directives in windows.h.
Rename a variable to avoid a conflict with the Unknown enumeration value.
Define WIN32_LEAN_AND_MEAN to avoid conflicts caused by the SetPort macro.
2011-12-15 10:49:18 +01:00
Francois Gouget 88ba9c3274 ole32/tests: Skip some tests if not allowed to modify the Classes registry key. 2011-09-21 11:35:43 +02:00
Francois Gouget 54c74dc4a2 ole32/tests: Fix compilation on systems that don't support nameless unions. 2011-09-19 13:19:29 +02:00
Vincent Povirk cb9e572611 ole32: Discard existing data when creating a new storage on an ILockBytes. 2011-09-13 09:20:29 +02:00
Vincent Povirk 7df35e9b0f ole32/tests: Test creation of a storage on an ILockBytes containing data. 2011-09-13 09:20:27 +02:00
Octavian Voicu 9b1fc0fd74 ole32: Fix a few incorrect pointer/integer casts on 64-bit. 2011-08-31 19:43:08 +02:00
Frédéric Delanoy 760faf01a9 tests: Assorted spelling fixes. 2011-08-04 18:27:37 +02:00
Michael Stefaniuc 3673f6b7c4 ole32/tests: COM cleanup in compobj.c. 2011-08-03 14:15:48 +02:00
Austin English 94f63d7681 ole32/tests: Make sure to use a return value (LLVM/Clang). 2011-07-26 10:22:38 +02:00
Frédéric Delanoy 8f32948d9a ole32/tests: Remove dead assignment (Clang). 2011-07-11 18:33:46 +02:00
Adam Martinson e85668b463 ole32: Don't call IDropTarget::QueryInterface() in RegisterDragDrop(). 2011-06-08 17:36:40 +02:00
Vincent Povirk c72ecb1de6 ole32: Avoid opening source storage in IStorage::CopyTo. 2011-06-03 17:37:09 +02:00
David Hedberg a0980b47c8 ole32: Add ManualResetEvent implementation. 2011-05-30 17:55:43 +02:00
Adam Martinson 456e48efa1 ole32/tests: IDropTarget::QueryInterface() shouldn't be called. 2011-05-20 17:57:01 +02:00
Nicolas Le Cam cfe11f1875 ole32/tests: Fix large integer overflow warnings. 2011-05-02 12:42:21 +02:00
David Hedberg ea14a6b2e7 oleaut32: Fix CLSIDToString behaviour when passed an invalid CLSID-string.
In some cases, Excel 2007 apparently relies on CLSIDToString properly
parsing an "invalid" CLSID string where extra bytes are appended.
2011-04-28 18:17:18 +02:00
Nikolay Sivov 0c33682330 ole32: Handle null argument in OleIsRunning(). 2011-04-08 13:03:20 +02:00
Austin English 671b9a43e7 ole32/tests: Make sure to use a return value (LLVM/Clang). 2011-02-17 17:30:30 +01:00
Austin English fe975fb0b6 ole32/tests: Make sure to use return values (LLVM/Clang). 2011-02-14 13:33:33 +01:00
Austin English 5206db8055 ole32/tests: Make sure to use a return value (LLVM/Clang). 2011-02-14 13:33:33 +01:00
Austin English efb3c48d8a ole32/tests: Make sure to use return values (LLVM/Clang). 2011-02-14 13:33:32 +01:00
Austin English f0ca65a287 ole32/tests: Make sure to use return values (LLVM/Clang). 2011-02-10 09:57:59 -06:00
Austin English 5ca437e758 ole32/tests: Remove unused assignment (LLVM/Clang). 2011-02-07 10:10:16 -06:00
Nikolay Sivov d91dbd0baa ole32/tests: Test for return value directly without macros. 2011-01-11 16:05:46 +01:00
Greg Geldorp 8cbb8cc38d ole32/tests: Disable target device clipboard tests. 2011-01-03 16:57:04 +01:00
Greg Geldorp 9c9762d1ab ole32/tests: Fix crashes in usrmarshal. 2011-01-03 11:54:03 +01:00
André Hentschel 0fb2994fdc ole32/tests: Don't test function directly when reporting GetLastError(). 2010-12-31 11:44:02 +01:00
Michael Stefaniuc 6012a506cc ole32/tests: Standardize the COM usage in clipboard.c. 2010-12-14 12:30:46 +01:00
Michael Stefaniuc 46ebaa9be2 ole32/tests: Use an iface instead of a vtbl pointer in HeapUnknown. 2010-12-05 12:26:57 +01:00
Andrew Bogott 796aca38f0 ole32: Fix the test for arbitrary property ids. 2010-12-01 11:14:39 +01:00
Andrew Bogott df219f8758 ole32: Revert "ole32: Only read known format ids when attempting to read summary information.".
This reverts commit c94b2687d2.
2010-12-01 11:14:29 +01:00
Andrew Bogott ddc5cbb371 ole32/tests: Added a couple of simple tests for StgCreateStorageEx. 2010-11-18 12:52:38 +01:00
Jacek Caban 0c6f2a6d2a ole32: Skip more tests on win9x. 2010-11-16 15:12:43 +01:00
Huw Davies abf8da6727 ole32: Implement OnRun and OnStop. 2010-11-01 16:16:12 +01:00
Huw Davies ad326999ec ole32/tests: Add tests to exercise the datacache's IDataObject::GetData. 2010-11-01 16:15:32 +01:00
David Hedberg a5caff3bac ole32: Pass failures from delegate object's ::QueryInterface in default handler. 2010-10-21 12:28:51 +02:00