Michael Stefaniuc : objsel: COM cleanup for the IDsObjectPicker iface.

Alexandre Julliard julliard at winehq.org
Fri Jan 14 12:46:33 CST 2011


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

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Fri Jan 14 00:46:40 2011 +0100

objsel: COM cleanup for the IDsObjectPicker iface.

---

 dlls/objsel/objsel.c         |   15 ++++++++++-----
 dlls/objsel/objsel_private.h |    2 +-
 2 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/dlls/objsel/objsel.c b/dlls/objsel/objsel.c
index 3ba2ac1..f258e1d 100644
--- a/dlls/objsel/objsel.c
+++ b/dlls/objsel/objsel.c
@@ -99,12 +99,17 @@ static VOID OBJSEL_IDsObjectPicker_Destroy(IDsObjectPickerImpl *This)
 }
 
 
+static inline IDsObjectPickerImpl *impl_from_IDsObjectPicker(IDsObjectPicker *iface)
+{
+    return CONTAINING_RECORD(iface, IDsObjectPickerImpl, IDsObjectPicker_iface);
+}
+
 /**********************************************************************
  * OBJSEL_IDsObjectPicker_AddRef (also IUnknown)
  */
 static ULONG WINAPI OBJSEL_IDsObjectPicker_AddRef(IDsObjectPicker * iface)
 {
-    IDsObjectPickerImpl *This = (IDsObjectPickerImpl *)iface;
+    IDsObjectPickerImpl *This = impl_from_IDsObjectPicker(iface);
     ULONG ref;
 
     TRACE("\n");
@@ -127,7 +132,7 @@ static ULONG WINAPI OBJSEL_IDsObjectPicker_AddRef(IDsObjectPicker * iface)
  */
 static ULONG WINAPI OBJSEL_IDsObjectPicker_Release(IDsObjectPicker * iface)
 {
-    IDsObjectPickerImpl *This = (IDsObjectPickerImpl *)iface;
+    IDsObjectPickerImpl *This = impl_from_IDsObjectPicker(iface);
     ULONG ref;
 
     TRACE("\n");
@@ -219,9 +224,9 @@ HRESULT WINAPI OBJSEL_IDsObjectPicker_Create(LPVOID *ppvObj)
                                               sizeof(IDsObjectPickerImpl));
     if (Instance != NULL)
     {
-        Instance->lpVtbl = &IDsObjectPicker_Vtbl;
-        OBJSEL_IDsObjectPicker_AddRef((IDsObjectPicker *)Instance);
-        
+        Instance->IDsObjectPicker_iface.lpVtbl = &IDsObjectPicker_Vtbl;
+        OBJSEL_IDsObjectPicker_AddRef(&Instance->IDsObjectPicker_iface);
+
         *ppvObj = Instance;
         return S_OK;
     }
diff --git a/dlls/objsel/objsel_private.h b/dlls/objsel/objsel_private.h
index 62d6eb4..13ab577 100644
--- a/dlls/objsel/objsel_private.h
+++ b/dlls/objsel/objsel_private.h
@@ -55,7 +55,7 @@ typedef struct
 
 typedef struct
 {
-    IDsObjectPickerVtbl *lpVtbl;
+    IDsObjectPicker IDsObjectPicker_iface;
     LONG ref;
 } IDsObjectPickerImpl;
 




More information about the wine-cvs mailing list