Commit Graph

158 Commits

Author SHA1 Message Date
Nikolay Sivov b557c39555 ole32/composite: Disable cloning of enumerator instances.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-30 21:22:26 +02:00
Nikolay Sivov 61f8991fd9 ole32/composite: Do not use enumerators and antimoniker composition in RelativePathTo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-30 21:22:23 +02:00
Nikolay Sivov 7de48a7416 ole32/composite: Fix argument handling in component enumerator methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-30 21:22:21 +02:00
Nikolay Sivov f95fe051f0 ole32/composite: Reimplement Reduce().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Nikolay Sivov 0806f9531f ole32/composite: Cleanup IsRunning() implementation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Nikolay Sivov b8ba0e6fe0 ole32/tests: Add a GetComparisonData() test for composite.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Nikolay Sivov 01feab9ef4 ole32/pointermoniker: Fix argument check in GetDisplayName().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Nikolay Sivov e12947c022 ole32/composite: Handle per-component failure in GetDisplayName().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-29 21:38:12 +02:00
Nikolay Sivov fbceeff26b ole32/composite: Improve handling of BindToObject() when left side moniker is specified.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:49:00 +02:00
Nikolay Sivov 246b3002a4 ole32/filemoniker: Fix argument handling in Reduce().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:49:00 +02:00
Nikolay Sivov b7cab78974 ole32/pointermoniker: Fix argument handling in RelativePathTo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:49:00 +02:00
Nikolay Sivov 19df4c56c4 ole32/itemmoniker: Fix argument handling in RelativePathTo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:49:00 +02:00
Nikolay Sivov 63769f7e33 ole32/antimoniker: Fix argument handling in RelativePathTo().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:49:00 +02:00
Nikolay Sivov 558e846608 ole32/composite: Reimplement Inverse().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-28 21:48:59 +02:00
Nikolay Sivov 281021d820 ole32/composite: Fix argument handling in ComposeWith().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Nikolay Sivov 068ddc5b1b ole32/composite: Fix IsEqual() comparison logic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Nikolay Sivov ca7e757fb9 ole32/composite: Implement CommonPrefixWith() without iterators.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Nikolay Sivov 1f261967ac ole32/tests: Add some tests for CommonPrefixWith().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Nikolay Sivov 5aed88a3b3 ole32/tests: Systematically check for supported moniker interfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-27 17:40:15 +02:00
Nikolay Sivov 25061d23b0 ole32/tests: Add some tests for class moniker composition.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-24 21:55:19 +02:00
Nikolay Sivov 23390c9a35 ole32/tests: Simplify test monikers creation helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-24 21:55:19 +02:00
Nikolay Sivov 59bf44b569 ole32/pointermoniker: Always use generic composition in ComposeWith().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-24 21:55:19 +02:00
Nikolay Sivov 7bf6fb787c ole32/itemmoniker: Always use generic composition in ComposeWith().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-24 21:55:19 +02:00
Nikolay Sivov 6fb0f321fe ole32/composite: Always go through running object table in GetTimeOfLastChange().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:11:57 +02:00
Nikolay Sivov 6bc9f83ddf ole32/tests: Add extendable tests for generic composite simplification.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 18:11:49 +02:00
Nikolay Sivov a767c6d6c6 ole32/composite: Store components as a pair of top level monikers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:00:13 +02:00
Nikolay Sivov bbf0abdea5 ole32/composite: Return requested interface in BindToObject() in NULL left moniker path.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-21 19:00:11 +02:00
Nikolay Sivov 828a0ae6ea ole32: Remove explicit type check in CommonPrefixWith() for item moniker.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Nikolay Sivov dd18a63b52 ole32/tests: Add a test for IBindCtx::GetRunningObjectTable().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Nikolay Sivov 9253ef3963 ole32/tests: Get rid of some global variables in moniker tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:48 +02:00
Nikolay Sivov a5a333572c ole32: Improve class moniker display name parsing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 11:50:59 +02:00
Nikolay Sivov 44d57a615f ole32: Handle extra class moniker data on load/save.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 11:50:56 +02:00
Nikolay Sivov 04439b7cfc ole32: Use single call to read/write serialization header of class moniker.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 11:50:46 +02:00
Nikolay Sivov fb31e6f3f3 ole32: Simplify IsEqual() for file monikers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:25 +02:00
Nikolay Sivov a0bb938224 ole32: Use access mask from bind context in file moniker's BindToStorage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-13 21:12:21 +02:00
Nikolay Sivov e0cad34031 ole32/tests: Use helper to test display names.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 12:36:31 +01:00
Nikolay Sivov f117d938a7 ole32/tests: Add some tests for MonikerCommonPrefixWith().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-03 12:36:29 +01:00
Nikolay Sivov 9d2d367f3d ole32: Respond to CLSID in item moniker interface query.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-02 18:48:23 +01:00
Nikolay Sivov b06281c25b ole32: Respond to CLSID in file moniker interface query.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-02 18:48:23 +01:00
Nikolay Sivov 3d2c8ef481 ole32: Respond to CLSID in class moniker interface query.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-02 18:48:23 +01:00
Nikolay Sivov a7ca351859 ole32: Respond to CLSID in pointer moniker interface query.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-02 18:48:23 +01:00
Nikolay Sivov 8f34b9e834 ole32: Respond to CLSID in antimoniker interface query.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-02 18:48:23 +01:00
Nikolay Sivov 2017977cb3 ole32: Enumeration is not supported for pointer monikers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 16:22:33 +01:00
Nikolay Sivov 5d5eb58528 ole32: Get rid of redundant pointer check.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 16:22:33 +01:00
Nikolay Sivov 69bb0c7765 ole32: Fix (file moniker + antimoniker) composing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-30 16:22:33 +01:00
Nikolay Sivov 3f10a59ff1 ole32: Fix (item moniker + antimoniker) composing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:41:26 +01:00
Nikolay Sivov c94b31ee91 ole32: Fix (pointer moniker + antimoniker) composing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:41:21 +01:00
Nikolay Sivov 292774d95c ole32/tests: Add some ComposeWith() tests with antimoniker at the right side.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:41:08 +01:00
Nikolay Sivov a3909647b2 ole32: Implement custom marshalling for pointer monikers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-29 20:41:02 +01:00
Nikolay Sivov 0187babcc6 ole32: Lock item container on BindToStorage().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-28 14:23:24 +01:00