From c84e0f5778dca4bbd1c176568ca62703af4993cb 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. Signed-off-by: Vijay Kiran Kamuju Signed-off-by: Alexandre Julliard --- 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 480b746f1db..a3fac41480f 100644 --- a/dlls/directmanipulation/directmanipulation.c +++ b/dlls/directmanipulation/directmanipulation.c @@ -341,6 +341,7 @@ struct directcompositor { IDirectManipulationCompositor IDirectManipulationCompositor_iface; IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider_iface; + IDirectManipulationUpdateManager *manager; LONG ref; }; @@ -395,6 +396,8 @@ static ULONG WINAPI compositor_Release(IDirectManipulationCompositor *iface) if (!ref) { + if(This->manager) + IDirectManipulationUpdateManager_Release(This->manager); heap_free(This); } return ref; @@ -418,8 +421,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)