Michael Stefaniuc : strmbase: Don' t cast IQualityControl to the COM object.
Alexandre Julliard
julliard at winehq.org
Mon Jul 18 09:22:34 CDT 2016
Module: wine
Branch: master
Commit: 4c224eaba11929f5164f0b94da07c71466acba99
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4c224eaba11929f5164f0b94da07c71466acba99
Author: Michael Stefaniuc <mstefani at redhat.de>
Date: Mon Jul 18 11:19:17 2016 +0200
strmbase: Don't cast IQualityControl to the COM object.
Signed-off-by: Michael Stefaniuc <mstefani at redhat.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/strmbase/qualitycontrol.c | 15 ++++++++++-----
1 file changed, 10 insertions(+), 5 deletions(-)
diff --git a/dlls/strmbase/qualitycontrol.c b/dlls/strmbase/qualitycontrol.c
index 46e0193..b756ae3 100644
--- a/dlls/strmbase/qualitycontrol.c
+++ b/dlls/strmbase/qualitycontrol.c
@@ -61,28 +61,33 @@ void QualityControlImpl_Destroy(QualityControlImpl *This)
HeapFree(GetProcessHeap(),0,This);
}
+static inline QualityControlImpl *impl_from_IQualityControl(IQualityControl *iface)
+{
+ return CONTAINING_RECORD(iface, QualityControlImpl, IQualityControl_iface);
+}
+
HRESULT WINAPI QualityControlImpl_QueryInterface(IQualityControl *iface, REFIID riid, void **ppv)
{
- QualityControlImpl *This = (QualityControlImpl*)iface;
+ QualityControlImpl *This = impl_from_IQualityControl(iface);
return IBaseFilter_QueryInterface(This->self, riid, ppv);
}
ULONG WINAPI QualityControlImpl_AddRef(IQualityControl *iface)
{
- QualityControlImpl *This = (QualityControlImpl*)iface;
+ QualityControlImpl *This = impl_from_IQualityControl(iface);
return IBaseFilter_AddRef(This->self);
}
ULONG WINAPI QualityControlImpl_Release(IQualityControl *iface)
{
- QualityControlImpl *This = (QualityControlImpl*)iface;
+ QualityControlImpl *This = impl_from_IQualityControl(iface);
return IBaseFilter_Release(This->self);
}
HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *sender, Quality qm)
{
+ QualityControlImpl *This = impl_from_IQualityControl(iface);
HRESULT hr = S_FALSE;
- QualityControlImpl *This = (QualityControlImpl*)iface;
TRACE("%p %p { 0x%x %u " XTIME_FMT " " XTIME_FMT " }\n",
This, sender, qm.Type, qm.Proportion,
@@ -110,7 +115,7 @@ HRESULT WINAPI QualityControlImpl_Notify(IQualityControl *iface, IBaseFilter *se
HRESULT WINAPI QualityControlImpl_SetSink(IQualityControl *iface, IQualityControl *tonotify)
{
- QualityControlImpl *This = (QualityControlImpl*)iface;
+ QualityControlImpl *This = impl_from_IQualityControl(iface);
TRACE("%p %p\n", This, tonotify);
This->tonotify = tonotify;
return S_OK;
More information about the wine-cvs
mailing list