From 6f2fd8dc5086a0c0982f71416b8a2b1e25ac6433 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Wed, 24 Jul 2019 09:15:18 +1000 Subject: [PATCH] directmanipulation: Implement IDirectManipulationCompositor SetUpdateManager. --- dlls/directmanipulation/directmanipulation.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dlls/directmanipulation/directmanipulation.c b/dlls/directmanipulation/directmanipulation.c index 7d00354963..629a41c845 100644 --- a/dlls/directmanipulation/directmanipulation.c +++ b/dlls/directmanipulation/directmanipulation.c @@ -339,6 +339,7 @@ struct directcompositor { IDirectManipulationCompositor IDirectManipulationCompositor_iface; IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider_iface; + IDirectManipulationUpdateManager *manager; LONG ref; }; @@ -393,6 +394,8 @@ static ULONG WINAPI compositor_Release(IDirectManipulationCompositor *iface) if (!ref) { + if(This->manager) + IDirectManipulationUpdateManager_Release(This->manager); heap_free(This); } return ref; @@ -416,8 +419,14 @@ static HRESULT WINAPI compositor_RemoveContent(IDirectManipulationCompositor *if static HRESULT WINAPI compositor_SetUpdateManager(IDirectManipulationCompositor *iface, IDirectManipulationUpdateManager *manager) { struct directcompositor *This = impl_from_IDirectManipulationCompositor(iface); - FIXME("%p, %p\n", This, manager); - return E_NOTIMPL; + TRACE("%p, %p\n", This, manager); + + if(!manager) + return E_INVALIDARG; + + This->manager = manager; + IDirectManipulationUpdateManager_AddRef(This->manager); + return S_OK; } static HRESULT WINAPI compositor_Flush(IDirectManipulationCompositor *iface) -- 2.17.1