directmanipulation: Implement IDirectManipulationCompositor::SetUpdateManager.

Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
master
Alistair Leslie-Hughes 2019-07-24 09:15:18 +10:00 committed by Alexandre Julliard
parent 7cb3e3be29
commit c84e0f5778
1 changed files with 11 additions and 2 deletions

View File

@ -341,6 +341,7 @@ struct directcompositor
{ {
IDirectManipulationCompositor IDirectManipulationCompositor_iface; IDirectManipulationCompositor IDirectManipulationCompositor_iface;
IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider_iface; IDirectManipulationFrameInfoProvider IDirectManipulationFrameInfoProvider_iface;
IDirectManipulationUpdateManager *manager;
LONG ref; LONG ref;
}; };
@ -395,6 +396,8 @@ static ULONG WINAPI compositor_Release(IDirectManipulationCompositor *iface)
if (!ref) if (!ref)
{ {
if(This->manager)
IDirectManipulationUpdateManager_Release(This->manager);
heap_free(This); heap_free(This);
} }
return ref; return ref;
@ -418,8 +421,14 @@ static HRESULT WINAPI compositor_RemoveContent(IDirectManipulationCompositor *if
static HRESULT WINAPI compositor_SetUpdateManager(IDirectManipulationCompositor *iface, IDirectManipulationUpdateManager *manager) static HRESULT WINAPI compositor_SetUpdateManager(IDirectManipulationCompositor *iface, IDirectManipulationUpdateManager *manager)
{ {
struct directcompositor *This = impl_from_IDirectManipulationCompositor(iface); struct directcompositor *This = impl_from_IDirectManipulationCompositor(iface);
FIXME("%p, %p\n", This, manager); TRACE("%p, %p\n", This, manager);
return E_NOTIMPL;
if(!manager)
return E_INVALIDARG;
This->manager = manager;
IDirectManipulationUpdateManager_AddRef(This->manager);
return S_OK;
} }
static HRESULT WINAPI compositor_Flush(IDirectManipulationCompositor *iface) static HRESULT WINAPI compositor_Flush(IDirectManipulationCompositor *iface)