wine/dlls/ole32 defaulthandler.c
ChangeSet ID: 21451 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard(a)winehq.org 2005/11/28 05:00:16 Modified files: dlls/ole32 : defaulthandler.c Log message: Robert Shearman <rob(a)codeweavers.com> Call the equivalent delegate function for all of the simple functions. Patch: http://cvs.winehq.org/patch.py?id=21451 Old revision New revision Changes Path 1.35 1.36 +44 -2 wine/dlls/ole32/defaulthandler.c Index: wine/dlls/ole32/defaulthandler.c diff -u -p wine/dlls/ole32/defaulthandler.c:1.35 wine/dlls/ole32/defaulthandler.c:1.36 --- wine/dlls/ole32/defaulthandler.c:1.35 28 Nov 2005 11: 0:16 -0000 +++ wine/dlls/ole32/defaulthandler.c 28 Nov 2005 11: 0:16 -0000 @@ -307,9 +307,13 @@ static HRESULT WINAPI DefaultHandler_Set IOleClientSite* pClientSite) { DefaultHandler *This = impl_from_IOleObject(iface); + HRESULT hr = S_OK; TRACE("(%p, %p)\n", iface, pClientSite); + if (This->pOleDelegate) + hr = IOleObject_SetClientSite(This->pOleDelegate, pClientSite); + /* * Make sure we release the previous client site if there * was one. @@ -371,6 +375,9 @@ static HRESULT WINAPI DefaultHandler_Set debugstr_w(szContainerApp), debugstr_w(szContainerObj)); + if (This->pOleDelegate) + IOleObject_SetHostNames(This->pOleDelegate, szContainerApp, szContainerObj); + /* Be sure to cleanup before re-assinging the strings. */ HeapFree( GetProcessHeap(), 0, This->containerApp ); This->containerApp = NULL; @@ -452,11 +459,16 @@ static HRESULT WINAPI DefaultHandler_Set DWORD dwWhichMoniker, IMoniker* pmk) { + DefaultHandler *This = impl_from_IOleObject(iface); + TRACE("(%p, %ld, %p)\n", iface, dwWhichMoniker, pmk); + if (This->pOleDelegate) + return IOleObject_SetMoniker(This->pOleDelegate, dwWhichMoniker, pmk); + return S_OK; } @@ -478,6 +490,11 @@ static HRESULT WINAPI DefaultHandler_Get TRACE("(%p, %ld, %ld, %p)\n", iface, dwAssign, dwWhichMoniker, ppmk); + if (This->pOleDelegate) + return IOleObject_GetMoniker(This->pOleDelegate, dwAssign, dwWhichMoniker, + ppmk); + + /* FIXME: dwWhichMoniker == OLEWHICHMK_CONTAINER only? */ if (This->clientSite) { return IOleClientSite_GetMoniker(This->clientSite, @@ -503,9 +520,14 @@ static HRESULT WINAPI DefaultHandler_Ini BOOL fCreation, DWORD dwReserved) { + DefaultHandler *This = impl_from_IOleObject(iface); + TRACE("(%p, %p, %d, %ld)\n", iface, pDataObject, fCreation, dwReserved); + if (This->pOleDelegate) + return IOleObject_InitFromData(This->pOleDelegate, pDataObject, fCreation, + dwReserved); return OLE_E_NOTRUNNING; } @@ -521,9 +543,15 @@ static HRESULT WINAPI DefaultHandler_Get DWORD dwReserved, IDataObject** ppDataObject) { + DefaultHandler *This = impl_from_IOleObject(iface); + TRACE("(%p, %ld, %p)\n", iface, dwReserved, ppDataObject); + if (This->pOleDelegate) + return IOleObject_GetClipboardData(This->pOleDelegate, dwReserved, + ppDataObject); + return OLE_E_NOTRUNNING; } @@ -650,8 +678,14 @@ static HRESULT WINAPI DefaultHandler_Set DWORD dwDrawAspect, SIZEL* psizel) { + DefaultHandler *This = impl_from_IOleObject(iface); + TRACE("(%p, %lx, (%ld x %ld))\n", iface, dwDrawAspect, psizel->cx, psizel->cy); + + if (This->pOleDelegate) + IOleObject_SetExtent(This->pOleDelegate, dwDrawAspect, psizel); + return OLE_E_NOTRUNNING; } @@ -676,8 +710,10 @@ static HRESULT WINAPI DefaultHandler_Get TRACE("(%p, %lx, %p)\n", iface, dwDrawAspect, psizel); - hres = IUnknown_QueryInterface(This->dataCache, &IID_IViewObject2, (void**)&cacheView); + if (This->pOleDelegate) + return IOleObject_GetExtent(This->pOleDelegate, dwDrawAspect, psizel); + hres = IUnknown_QueryInterface(This->dataCache, &IID_IViewObject2, (void**)&cacheView); if (FAILED(hres)) return E_UNEXPECTED; @@ -824,7 +860,7 @@ static HRESULT WINAPI DefaultHandler_Get } /************************************************************************ - * DefaultHandler_SetExtent (IOleObject) + * DefaultHandler_SetColorScheme (IOleObject) * * This method is meaningless if the server is not running * @@ -834,7 +870,13 @@ static HRESULT WINAPI DefaultHandler_Set IOleObject* iface, struct tagLOGPALETTE* pLogpal) { + DefaultHandler *This = impl_from_IOleObject(iface); + TRACE("(%p, %p))\n", iface, pLogpal); + + if (This->pOleDelegate) + return IOleObject_SetColorScheme(This->pOleDelegate, pLogpal); + return OLE_E_NOTRUNNING; }
participants (1)
-
Alexandre Julliard