Module: wine Branch: master Commit: 7c6899ba7be84dea1ccf5dea095d6a5b7be60eb1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7c6899ba7be84dea1ccf5dea09...
Author: Andrew Eikum aeikum@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)