Michael Stefaniuc : quartz: Use impl_from_IBaseFilter() instead of casts.

Alexandre Julliard julliard at winehq.org
Mon Jul 2 13:22:00 CDT 2012


Module: wine
Branch: master
Commit: 4e1302c2fbafe664d9cbe93696e6c04af40d703f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4e1302c2fbafe664d9cbe93696e6c04af40d703f

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Mon Jul  2 01:02:24 2012 +0200

quartz: Use impl_from_IBaseFilter() instead of casts.

---

 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);
 }
 




More information about the wine-cvs mailing list