ChangeSet ID: 21598 CVSROOT: /opt/cvs-commit Module name: wine Changes by: julliard@winehq.org 2005/12/01 06:02:16
Modified files: dlls/shdocvw : oleobject.c
Log message: Jacek Caban jacek@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: