diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 9809b76221d..6d234b44cc8 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -57,7 +57,7 @@ typedef struct { #define SERVPROV(x) ((IServiceProvider*) &(x)->lpServiceProviderVtbl) #define CMDTARGET(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl) -#define DEFINE_THIS(cls,ifc) cls* const This=(cls*)((char*)(iface)-offsetof(cls,lp ## ifc ## Vtbl)); +#define DEFINE_THIS(cls,ifc,iface) ((cls*)((BYTE*)(iface)-offsetof(cls,lp ## ifc ## Vtbl))) HRESULT HTMLDocument_Create(IUnknown*,REFIID,void**); diff --git a/dlls/mshtml/olewnd.c b/dlls/mshtml/olewnd.c index 63bbc84b711..77c93c5b9be 100644 --- a/dlls/mshtml/olewnd.c +++ b/dlls/mshtml/olewnd.c @@ -42,29 +42,30 @@ WINE_DEFAULT_DEBUG_CHANNEL(mshtml); * IOleInPlaceActiveObject implementation */ -#define ACTOBJ_THIS DEFINE_THIS(HTMLDocument, OleInPlaceActiveObject) +#define ACTOBJ_THIS(iface) DEFINE_THIS(HTMLDocument, OleInPlaceActiveObject, iface) static HRESULT WINAPI OleInPlaceActiveObject_QueryInterface(IOleInPlaceActiveObject *iface, REFIID riid, void **ppvObject) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppvObject); } static ULONG WINAPI OleInPlaceActiveObject_AddRef(IOleInPlaceActiveObject *iface) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); return IHTMLDocument2_AddRef(HTMLDOC(This)); } static ULONG WINAPI OleInPlaceActiveObject_Release(IOleInPlaceActiveObject *iface) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); return IHTMLDocument2_Release(HTMLDOC(This)); } static HRESULT WINAPI OleInPlaceActiveObject_GetWindow(IOleInPlaceActiveObject *iface, HWND *phwnd) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); + TRACE("(%p)->(%p)\n", This, phwnd); if(!phwnd) @@ -76,28 +77,28 @@ static HRESULT WINAPI OleInPlaceActiveObject_GetWindow(IOleInPlaceActiveObject * static HRESULT WINAPI OleInPlaceActiveObject_ContextSensitiveHelp(IOleInPlaceActiveObject *iface, BOOL fEnterMode) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); FIXME("(%p)->(%x)\n", This, fEnterMode); return E_NOTIMPL; } static HRESULT WINAPI OleInPlaceActiveObject_TranslateAccelerator(IOleInPlaceActiveObject *iface, LPMSG lpmsg) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); FIXME("(%p)->(%p)\n", This, lpmsg); return E_NOTIMPL; } static HRESULT WINAPI OleInPlaceActiveObject_OnFrameWindowActivate(IOleInPlaceActiveObject *iface, BOOL fActivate) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); FIXME("(%p)->(%x)\n", This, fActivate); return E_NOTIMPL; } static HRESULT WINAPI OleInPlaceActiveObject_OnDocWindowActivate(IOleInPlaceActiveObject *iface, BOOL fActivate) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); FIXME("(%p)->(%x)\n", This, fActivate); return E_NOTIMPL; } @@ -105,14 +106,14 @@ static HRESULT WINAPI OleInPlaceActiveObject_OnDocWindowActivate(IOleInPlaceActi static HRESULT WINAPI OleInPlaceActiveObject_ResizeBorder(IOleInPlaceActiveObject *iface, LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); FIXME("(%p)->(%p %p %x)\n", This, prcBorder, pUIWindow, fFrameWindow); return E_NOTIMPL; } static HRESULT WINAPI OleInPlaceActiveObject_EnableModeless(IOleInPlaceActiveObject *iface, BOOL fEnable) { - ACTOBJ_THIS + HTMLDocument *This = ACTOBJ_THIS(iface); FIXME("(%p)->(%x)\n", This, fEnable); return E_NOTIMPL; } @@ -136,51 +137,51 @@ static const IOleInPlaceActiveObjectVtbl OleInPlaceActiveObjectVtbl = { * IOleInPlaceObjectWindowless implementation */ -#define OLEINPLACEWND_THIS DEFINE_THIS(HTMLDocument, OleInPlaceObjectWindowless) +#define OLEINPLACEWND_THIS(iface) DEFINE_THIS(HTMLDocument, OleInPlaceObjectWindowless, iface) static HRESULT WINAPI OleInPlaceObjectWindowless_QueryInterface(IOleInPlaceObjectWindowless *iface, REFIID riid, void **ppvObject) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppvObject); } static ULONG WINAPI OleInPlaceObjectWindowless_AddRef(IOleInPlaceObjectWindowless *iface) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); return IHTMLDocument2_AddRef(HTMLDOC(This)); } static ULONG WINAPI OleInPlaceObjectWindowless_Release(IOleInPlaceObjectWindowless *iface) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); return IHTMLDocument2_Release(HTMLDOC(This)); } static HRESULT WINAPI OleInPlaceObjectWindowless_GetWindow(IOleInPlaceObjectWindowless *iface, HWND *phwnd) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); return IOleWindow_GetWindow(OLEWIN(This), phwnd); } static HRESULT WINAPI OleInPlaceObjectWindowless_ContextSensitiveHelp(IOleInPlaceObjectWindowless *iface, BOOL fEnterMode) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); return IOleWindow_ContextSensitiveHelp(OLEWIN(This), fEnterMode); } static HRESULT WINAPI OleInPlaceObjectWindowless_InPlaceDeactivate(IOleInPlaceObjectWindowless *iface) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); FIXME("(%p)\n", This); return E_NOTIMPL; } static HRESULT WINAPI OleInPlaceObjectWindowless_UIDeactivate(IOleInPlaceObjectWindowless *iface) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); FIXME("(%p)\n", This); return E_NOTIMPL; } @@ -188,14 +189,14 @@ static HRESULT WINAPI OleInPlaceObjectWindowless_UIDeactivate(IOleInPlaceObjectW static HRESULT WINAPI OleInPlaceObjectWindowless_SetObjectRects(IOleInPlaceObjectWindowless *iface, LPCRECT lprcPosRect, LPCRECT lprcClipRect) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); FIXME("(%p)->(%p %p)\n", This, lprcPosRect, lprcClipRect); return E_NOTIMPL; } static HRESULT WINAPI OleInPlaceObjectWindowless_ReactivateAndUndo(IOleInPlaceObjectWindowless *iface) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); FIXME("(%p)\n", This); return E_NOTIMPL; } @@ -203,7 +204,7 @@ static HRESULT WINAPI OleInPlaceObjectWindowless_ReactivateAndUndo(IOleInPlaceOb static HRESULT WINAPI OleInPlaceObjectWindowless_OnWindowMessage(IOleInPlaceObjectWindowless *iface, UINT msg, WPARAM wParam, LPARAM lParam, LRESULT *lpResult) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); FIXME("(%p)->(%u %u %lu %p)\n", This, msg, wParam, lParam, lpResult); return E_NOTIMPL; } @@ -211,7 +212,7 @@ static HRESULT WINAPI OleInPlaceObjectWindowless_OnWindowMessage(IOleInPlaceObje static HRESULT WINAPI OleInPlaceObjectWindowless_GetDropTarget(IOleInPlaceObjectWindowless *iface, IDropTarget **ppDropTarget) { - OLEINPLACEWND_THIS + HTMLDocument *This = OLEINPLACEWND_THIS(iface); FIXME("(%p)->(%p)\n", This, ppDropTarget); return E_NOTIMPL; }