wine/dlls/shdocvw oleobject.c
ChangeSet ID: 21598 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard(a)winehq.org 2005/12/01 06:02:16 Modified files: dlls/shdocvw : oleobject.c Log message: Jacek Caban <jacek(a)codeweavers.com> Added implementation of OLEIVERB_SHOW in DoVerb. Patch: http://cvs.winehq.org/patch.py?id=21598 Old revision New revision Changes Path 1.22 1.23 +19 -1 wine/dlls/shdocvw/oleobject.c Index: wine/dlls/shdocvw/oleobject.c diff -u -p wine/dlls/shdocvw/oleobject.c:1.22 wine/dlls/shdocvw/oleobject.c:1.23 --- wine/dlls/shdocvw/oleobject.c:1.22 1 Dec 2005 12: 2:16 -0000 +++ wine/dlls/shdocvw/oleobject.c 1 Dec 2005 12: 2:16 -0000 @@ -192,11 +192,14 @@ static HRESULT WINAPI OleObject_DoVerb(I WebBrowser *This = OLEOBJ_THIS(iface); HRESULT hres; + static const WCHAR wszitem[] = {'i','t','e','m',0}; + TRACE("(%p)->(%ld %p %p %ld %p %p)\n", This, iVerb, lpmsg, pActiveSite, lindex, hwndParent, lprcPosRect); switch (iVerb) { + case OLEIVERB_SHOW: case OLEIVERB_INPLACEACTIVATE: { IOleInPlaceSite *inplace; @@ -229,7 +232,8 @@ static HRESULT WINAPI OleObject_DoVerb(I &This->frameinfo); - IOleInPlaceSite_Release(inplace); + if(iVerb == OLEIVERB_INPLACEACTIVATE) + IOleInPlaceSite_Release(inplace); SetWindowPos(This->shell_embedding_hwnd, NULL, This->pos_rect.left, This->pos_rect.top, @@ -245,6 +249,20 @@ static HRESULT WINAPI OleObject_DoVerb(I if(This->frame) IOleInPlaceFrame_GetWindow(This->frame, &This->frame_hwnd); + if(iVerb == OLEIVERB_INPLACEACTIVATE) + return S_OK; + + TRACE("OLEIVERB_SHOW\n"); + + IOleInPlaceSite_OnUIActivate(inplace); + IOleInPlaceSite_Release(inplace); + + IOleInPlaceFrame_SetActiveObject(This->frame, ACTIVEOBJ(This), wszitem); + + /* TODO: + * IOleInPlaceFrmae_SetMenu + */ + return S_OK; } default:
participants (1)
-
Alexandre Julliard