[PATCH 08/13] quartz: Use impl_from_IBaseFilter() instead of casts.

Michael Stefaniuc mstefani at redhat.de
Sun Jul 1 18:02:24 CDT 2012


---
 dlls/quartz/nullrenderer.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/dlls/quartz/nullrenderer.c b/dlls/quartz/nullrenderer.c
index 922d64e..6d93dca 100644
--- a/dlls/quartz/nullrenderer.c
+++ b/dlls/quartz/nullrenderer.c
@@ -183,21 +183,26 @@ static const IUnknownVtbl IInner_VTable =
     NullRendererInner_Release
 };
 
+static inline NullRendererImpl *impl_from_IBaseFilter(IBaseFilter *iface)
+{
+    return CONTAINING_RECORD(iface, NullRendererImpl, renderer.filter.IBaseFilter_iface);
+}
+
 static HRESULT WINAPI NullRenderer_QueryInterface(IBaseFilter * iface, REFIID riid, LPVOID * ppv)
 {
-    NullRendererImpl *This = (NullRendererImpl *)iface;
+    NullRendererImpl *This = impl_from_IBaseFilter(iface);
     return IUnknown_QueryInterface(This->outer_unk, riid, ppv);
 }
 
 static ULONG WINAPI NullRenderer_AddRef(IBaseFilter * iface)
 {
-    NullRendererImpl *This = (NullRendererImpl *)iface;
+    NullRendererImpl *This = impl_from_IBaseFilter(iface);
     return IUnknown_AddRef(This->outer_unk);
 }
 
 static ULONG WINAPI NullRenderer_Release(IBaseFilter * iface)
 {
-    NullRendererImpl *This = (NullRendererImpl *)iface;
+    NullRendererImpl *This = impl_from_IBaseFilter(iface);
     return IUnknown_Release(This->outer_unk);
 }
 
-- 
1.7.6.5



More information about the wine-patches mailing list