wine/dlls/shdocvw oleobject.c
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Dec 1 06:02:16 CST 2005
ChangeSet ID: 21598
CVSROOT: /opt/cvs-commit
Module name: wine
Changes by: julliard at winehq.org 2005/12/01 06:02:16
Modified files:
dlls/shdocvw : oleobject.c
Log message:
Jacek Caban <jacek at 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:
More information about the wine-cvs
mailing list