Andrew Eikum : packager: Implement Activate verb for OleObject::DoVerb.
Module: wine Branch: master Commit: 7c6899ba7be84dea1ccf5dea095d6a5b7be60eb1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c6899ba7be84dea1ccf5dea09... Author: Andrew Eikum <aeikum(a)codeweavers.com> Date: Wed Jun 18 14:58:26 2014 -0500 packager: Implement Activate verb for OleObject::DoVerb. --- dlls/packager/packager_main.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/dlls/packager/packager_main.c b/dlls/packager/packager_main.c index 02e691c..0575fcf 100644 --- a/dlls/packager/packager_main.c +++ b/dlls/packager/packager_main.c @@ -175,12 +175,26 @@ static HRESULT WINAPI OleObject_GetClipboardData(IOleObject *iface, DWORD dwRese return E_NOTIMPL; } +static HRESULT do_activate_object(struct Package *This, HWND parent) +{ + static const WCHAR openW[] = {'o','p','e','n',0}; + ShellExecuteW(parent, openW, This->filename, NULL, NULL, SW_SHOW); + return S_OK; +} + static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) { struct Package *This = impl_from_IOleObject(iface); - FIXME("(%p)->(%d)\n", This, iVerb); - return E_NOTIMPL; + + TRACE("(%p)->(%d)\n", This, iVerb); + + switch(iVerb){ + case 0: + return do_activate_object(This, hwndParent); + } + + return E_INVALIDARG; } static HRESULT WINAPI OleObject_EnumVerbs(IOleObject *iface, IEnumOLEVERB **ppEnumOleVerb)
participants (1)
-
Alexandre Julliard