From b24916c638189f958c60c4e797a08a097c6cba97 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 1 Dec 2005 12:49:02 +0100 Subject: [PATCH] Added implementation of OLEIVERB_SHOW in DoVerb. --- dlls/shdocvw/oleobject.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/dlls/shdocvw/oleobject.c b/dlls/shdocvw/oleobject.c index b97d00c3bf6..f62924d3804 100644 --- a/dlls/shdocvw/oleobject.c +++ b/dlls/shdocvw/oleobject.c @@ -192,11 +192,14 @@ static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, struct tag 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(IOleObject *iface, LONG iVerb, struct tag &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(IOleObject *iface, LONG iVerb, struct tag 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: -- 2.11.4.GIT