Module: wine Branch: master Commit: 176358216f80237ff22e96fd5dd36b25e3f801bb URL: http://source.winehq.org/git/wine.git/?a=commit;h=176358216f80237ff22e96fd5d...
Author: Michael Stefaniuc mstefani@redhat.de Date: Thu Dec 23 02:21:09 2010 +0100
mshtml: COM cleanup for the IViewObjectEx iface.
---
dlls/mshtml/htmldoc.c | 6 +++--- dlls/mshtml/mshtml_private.h | 5 +---- dlls/mshtml/view.c | 39 ++++++++++++++++++++------------------- 3 files changed, 24 insertions(+), 26 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 5fa5adf..15240de 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -1755,13 +1755,13 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv) *ppv = &This->IOleInPlaceActiveObject_iface; }else if(IsEqualGUID(&IID_IViewObject, riid)) { TRACE("(%p)->(IID_IViewObject, %p)\n", This, ppv); - *ppv = VIEWOBJ(This); + *ppv = &This->IViewObjectEx_iface; }else if(IsEqualGUID(&IID_IViewObject2, riid)) { TRACE("(%p)->(IID_IViewObject2, %p)\n", This, ppv); - *ppv = VIEWOBJ2(This); + *ppv = &This->IViewObjectEx_iface; }else if(IsEqualGUID(&IID_IViewObjectEx, riid)) { TRACE("(%p)->(IID_IViewObjectEx, %p)\n", This, ppv); - *ppv = VIEWOBJEX(This); + *ppv = &This->IViewObjectEx_iface; }else if(IsEqualGUID(&IID_IOleWindow, riid)) { TRACE("(%p)->(IID_IOleWindow, %p)\n", This, ppv); *ppv = &This->IOleInPlaceActiveObject_iface; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index f8e808a..703d5ff 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -355,7 +355,7 @@ struct HTMLDocument { IOleDocument IOleDocument_iface; IOleDocumentView IOleDocumentView_iface; IOleInPlaceActiveObject IOleInPlaceActiveObject_iface; - const IViewObjectExVtbl *lpViewObjectExVtbl; + IViewObjectEx IViewObjectEx_iface; const IOleInPlaceObjectWindowlessVtbl *lpOleInPlaceObjectWindowlessVtbl; const IServiceProviderVtbl *lpServiceProviderVtbl; const IOleCommandTargetVtbl *lpOleCommandTargetVtbl; @@ -625,9 +625,6 @@ struct HTMLDocumentNode { #define HTMLWINDOW2(x) ((IHTMLWindow2*) &(x)->lpHTMLWindow2Vtbl) #define HTMLWINDOW3(x) ((IHTMLWindow3*) &(x)->lpHTMLWindow3Vtbl) #define HTMLWINDOW4(x) ((IHTMLWindow4*) &(x)->lpHTMLWindow4Vtbl) -#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObjectExVtbl) -#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectExVtbl) -#define VIEWOBJEX(x) ((IViewObjectEx*) &(x)->lpViewObjectExVtbl) #define INPLACEOBJ(x) ((IOleInPlaceObject*) &(x)->lpOleInPlaceObjectWindowlessVtbl) #define INPLACEWIN(x) ((IOleInPlaceObjectWindowless*) &(x)->lpOleInPlaceObjectWindowlessVtbl) #define SERVPROV(x) ((IServiceProvider*) &(x)->lpServiceProviderVtbl) diff --git a/dlls/mshtml/view.c b/dlls/mshtml/view.c index cd716db..1b6a32f 100644 --- a/dlls/mshtml/view.c +++ b/dlls/mshtml/view.c @@ -759,23 +759,26 @@ static const IOleDocumentViewVtbl OleDocumentViewVtbl = { * IViewObject implementation */
-#define VIEWOBJ_THIS(iface) DEFINE_THIS(HTMLDocument, ViewObjectEx, iface) +static inline HTMLDocument *impl_from_IViewObjectEx(IViewObjectEx *iface) +{ + return CONTAINING_RECORD(iface, HTMLDocument, IViewObjectEx_iface); +}
static HRESULT WINAPI ViewObject_QueryInterface(IViewObjectEx *iface, REFIID riid, void **ppv) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); return htmldoc_query_interface(This, riid, ppv); }
static ULONG WINAPI ViewObject_AddRef(IViewObjectEx *iface) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); return htmldoc_addref(This); }
static ULONG WINAPI ViewObject_Release(IViewObjectEx *iface) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); return htmldoc_release(This); }
@@ -783,7 +786,7 @@ static HRESULT WINAPI ViewObject_Draw(IViewObjectEx *iface, DWORD dwDrawAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL (CALLBACK *pfnContinue)(ULONG_PTR dwContinue), ULONG_PTR dwContinue) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %d %p %p %p %p %p %p %p %ld)\n", This, dwDrawAspect, lindex, pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue, dwContinue); return E_NOTIMPL; @@ -792,7 +795,7 @@ static HRESULT WINAPI ViewObject_Draw(IViewObjectEx *iface, DWORD dwDrawAspect, static HRESULT WINAPI ViewObject_GetColorSet(IViewObjectEx *iface, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %d %p %p %p %p)\n", This, dwDrawAspect, lindex, pvAspect, ptd, hicTargetDev, ppColorSet); return E_NOTIMPL; } @@ -800,21 +803,21 @@ static HRESULT WINAPI ViewObject_GetColorSet(IViewObjectEx *iface, DWORD dwDrawA static HRESULT WINAPI ViewObject_Freeze(IViewObjectEx *iface, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %d %p %p)\n", This, dwDrawAspect, lindex, pvAspect, pdwFreeze); return E_NOTIMPL; }
static HRESULT WINAPI ViewObject_Unfreeze(IViewObjectEx *iface, DWORD dwFreeze) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d)\n", This, dwFreeze); return E_NOTIMPL; }
static HRESULT WINAPI ViewObject_SetAdvise(IViewObjectEx *iface, DWORD aspects, DWORD advf, IAdviseSink *pAdvSink) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface);
TRACE("(%p)->(%d %d %p)\n", This, aspects, advf, pAdvSink);
@@ -832,7 +835,7 @@ static HRESULT WINAPI ViewObject_SetAdvise(IViewObjectEx *iface, DWORD aspects,
static HRESULT WINAPI ViewObject_GetAdvise(IViewObjectEx *iface, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%p %p %p)\n", This, pAspects, pAdvf, ppAdvSink); return E_NOTIMPL; } @@ -840,21 +843,21 @@ static HRESULT WINAPI ViewObject_GetAdvise(IViewObjectEx *iface, DWORD *pAspects static HRESULT WINAPI ViewObject_GetExtent(IViewObjectEx *iface, DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE* ptd, LPSIZEL lpsizel) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %d %p %p)\n", This, dwDrawAspect, lindex, ptd, lpsizel); return E_NOTIMPL; }
static HRESULT WINAPI ViewObject_GetRect(IViewObjectEx *iface, DWORD dwAspect, LPRECTL pRect) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %p)\n", This, dwAspect, pRect); return E_NOTIMPL; }
static HRESULT WINAPI ViewObject_GetViewStatus(IViewObjectEx *iface, DWORD *pdwStatus) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%p)\n", This, pdwStatus); return E_NOTIMPL; } @@ -862,7 +865,7 @@ static HRESULT WINAPI ViewObject_GetViewStatus(IViewObjectEx *iface, DWORD *pdwS static HRESULT WINAPI ViewObject_QueryHitPoint(IViewObjectEx* iface, DWORD dwAspect, LPCRECT pRectBounds, POINT ptlLoc, LONG lCloseHint, DWORD *pHitResult) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %p (%d %d) %d %p)\n", This, dwAspect, pRectBounds, ptlLoc.x, ptlLoc.y, lCloseHint, pHitResult); return E_NOTIMPL; @@ -871,7 +874,7 @@ static HRESULT WINAPI ViewObject_QueryHitPoint(IViewObjectEx* iface, DWORD dwAsp static HRESULT WINAPI ViewObject_QueryHitRect(IViewObjectEx *iface, DWORD dwAspect, LPCRECT pRectBounds, LPCRECT pRectLoc, LONG lCloseHint, DWORD *pHitResult) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %p %p %d %p)\n", This, dwAspect, pRectBounds, pRectLoc, lCloseHint, pHitResult); return E_NOTIMPL; } @@ -879,14 +882,12 @@ static HRESULT WINAPI ViewObject_QueryHitRect(IViewObjectEx *iface, DWORD dwAspe static HRESULT WINAPI ViewObject_GetNaturalExtent(IViewObjectEx *iface, DWORD dwAspect, LONG lindex, DVTARGETDEVICE *ptd, HDC hicTargetDev, DVEXTENTINFO *pExtentInfo, LPSIZEL pSizel) { - HTMLDocument *This = VIEWOBJ_THIS(iface); + HTMLDocument *This = impl_from_IViewObjectEx(iface); FIXME("(%p)->(%d %d %p %p %p %p\n", This, dwAspect,lindex, ptd, hicTargetDev, pExtentInfo, pSizel); return E_NOTIMPL; }
-#undef VIEWOBJ_THIS - static const IViewObjectExVtbl ViewObjectVtbl = { ViewObject_QueryInterface, ViewObject_AddRef, @@ -908,5 +909,5 @@ static const IViewObjectExVtbl ViewObjectVtbl = { void HTMLDocument_View_Init(HTMLDocument *This) { This->IOleDocumentView_iface.lpVtbl = &OleDocumentViewVtbl; - This->lpViewObjectExVtbl = &ViewObjectVtbl; + This->IViewObjectEx_iface.lpVtbl = &ViewObjectVtbl; }