Commit Graph

175 Commits

Author SHA1 Message Date
Paul Gofman 71aeb64c73 ole32: Do not link OLE clipboard object lifecycle to OLE initialization state.
Fixes text paste in Origin launcher and overlay.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:25 +02:00
Nikolay Sivov ffce592cc3 combase: Set a flag on thread id initialization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01:00
Nikolay Sivov 609c311a81 combase: Manage per-thread call cancellation counter.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-16 17:13:50 +02:00
Nikolay Sivov ee54c594e9 ole32: Remove some leftovers from private header.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-15 09:48:47 +02:00
Nikolay Sivov 5c15a6c1ec combase: Move ORPC functionality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 20:56:43 +02:00
Nikolay Sivov 11057c1370 combase: Move remaining marshalling code.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 20:56:43 +02:00
Nikolay Sivov 6074eeda83 combase: Move stub manager.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-01 20:56:43 +02:00
Nikolay Sivov 904f5fd0f6 combase: Move global apartment state cleanup.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 10:41:35 +02:00
Nikolay Sivov fad7818e28 combase: Move server class registration.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 10:41:30 +02:00
Nikolay Sivov d1b67b228c ole32: Remove unused helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-28 10:41:23 +02:00
Nikolay Sivov 844cb4997d ole32: Use InternalIsProcessInitialized().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:24:05 +02:00
Nikolay Sivov 5a2435cfff combase: Move CoGetClassObject().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:24:05 +02:00
Nikolay Sivov 373c753e99 combase: Move CoGetApartmentType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:24:05 +02:00
Nikolay Sivov 66d912a7b5 combase: Move MTA usage functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:24:05 +02:00
Nikolay Sivov 48bd5461ed ole32: Use single static instance for ROT.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-27 12:24:05 +02:00
Nikolay Sivov e540630750 combase: Move CoFreeUnusedLibrariesEx().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:07:06 +02:00
Nikolay Sivov ae969df3bc combase: Move core apartment and activation functionality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:07:02 +02:00
Nikolay Sivov 04e11b5871 ole32: Move apartment and activation management to a separate file.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:06:58 +02:00
Nikolay Sivov 89d8e13bf0 ole32: Simplify apartment lookup helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:06:55 +02:00
Nikolay Sivov 9295751542 ole32: Get rid of typedef'ed type for apartment structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-26 11:06:49 +02:00
Nikolay Sivov a1ff0d9b78 combase: Move CoGetCurrentProcess().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-21 14:59:54 +02:00
Nikolay Sivov 6e0e890fba combase: Move 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>
2020-08-20 18:47:49 +02:00
Nikolay Sivov 6153eefcba combase: Add a function to allocate OLE thread data.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-18 21:37:50 +02:00
Nikolay Sivov 0efea8489d ole32: Remove now unused helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:25:45 +02:00
Nikolay Sivov 42f6be1133 ole32: Move more built-in classes to CoGetClassObject().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-13 12:25:36 +02:00
Nikolay Sivov 964a8c909d ole32: Expose ManualResetEvent as registered class.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-12 22:13:54 +02:00
Nikolay Sivov b59b5da856 ole32: Reduce duplication for global interface table factory.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-08-12 22:13:54 +02:00
Nikolay Sivov 03a7c25abe ole32: Implement MTA pinning with CoIncrementMTAUsage()/CoDecrementMTAUsage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-13 16:44:24 +01:00
Nikolay Sivov c79b9bb46f ole32: Reimplement CoGetCurrentProcess() to use global counter from rpcss.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 10:29:06 +01:00
Jacek Caban d449b617e7 ole32: Lock spies list when iterating it.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 17:29:07 +02:00
Nikolay Sivov 645a1f8c5a ole32: Implement chained IInitializeSpy support.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 18:35:45 +01:00
Zebediah Figura 904d1688a3 ole32: Use the real proxy IID in ClientRpcChannelBuffer_GetBuffer().
Delegated proxies pass the IID of the parent interface to
NdrProxyGetBuffer(). However, this interface was never registered with ole32
on the server side, so calls to delegated methods will return
RPC_S_UNKNOWN_IF. Therefore we have ole32 ignore the passed-in parameter and
use the real proxy ID.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45673
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 15:37:41 +02:00
Zebediah Figura 95299607f9 ole32: Allow marshalling objects from an implicit MTA.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-10 11:15:13 +02:00
Zebediah Figura a4cf16db08 ole32: Allow unmarshalling objects into an implicit MTA.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-10 11:15:11 +02:00
Zebediah Figura 6af0e50f36 ole32: Always grab a reference to apt in CoGetClassObject().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 15:39:16 +02:00
Michael Stefaniuc f38ddaec6f ole32: Use the global HeapAlloc() wrappers.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-02 10:34:36 +01:00
Huw Davies fef5871e28 ole32: Correctly track the number of inits when auto-joining the MTA.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-10 16:41:28 +01: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
Huw Davies 20a8f1adf4 ole32: Implement IOleCache_EnumCache().
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-23 16:29:12 +02:00
Huw Davies 11db49190b ole32: Add a helper to copy FORMATETC structures.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-18 13:37:07 +02: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
Francois Gouget 93a8ede0e8 ole32: Add a __WINE_ALLOC_SIZE attribute to heap_alloc().
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 11:23:22 +01: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 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
Jacek Caban 38a9a232f7 ole32: Use get_stub_manager_from_object in CoDisconnectObject. 2015-09-04 19:29:29 +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
Nikolay Sivov d0bf7f4eaf ole32: Added activation context support for OleRegGetMiscStatus(). 2013-11-11 20:56:20 +01:00
Nikolay Sivov 98f3ecc32a ole32: GIT can be released on process detach only. 2013-08-23 10:41:24 +02:00