From: Pan Hui <panhui(a)uniontech.com> Needed by Alldup. --- dlls/wmp/oleobj.c | 8 ++++++++ dlls/wmp/tests/oleobj.c | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/dlls/wmp/oleobj.c b/dlls/wmp/oleobj.c index 5309194f289..628130783b8 100644 --- a/dlls/wmp/oleobj.c +++ b/dlls/wmp/oleobj.c @@ -421,7 +421,15 @@ static HRESULT WINAPI OleObject_DoVerb(IOleObject *iface, LONG iVerb, LPMSG lpms ShowWindow(This->hwnd, SW_HIDE); return S_OK; + case OLEIVERB_SHOW: + if (!This->hwnd) + { + FIXME("No window to show\n"); + return E_UNEXPECTED; + } + ShowWindow(This->hwnd, SW_SHOW); + return S_OK; default: FIXME("Unsupported iVerb %ld\n", iVerb); } diff --git a/dlls/wmp/tests/oleobj.c b/dlls/wmp/tests/oleobj.c index fa593eb3c3f..614434e7c1b 100644 --- a/dlls/wmp/tests/oleobj.c +++ b/dlls/wmp/tests/oleobj.c @@ -1332,6 +1332,14 @@ static void test_wmp(void) ok(hres == S_OK, "DoVerb failed: %08lx\n", hres); ok(!IsWindowVisible(hwnd), "Window is visible\n"); + SET_EXPECT(GetWindowContext); + SET_EXPECT(ShowObject); + hres = IOleObject_DoVerb(oleobj, OLEIVERB_SHOW, NULL, &ClientSite, 0, container_hwnd, &pos); + ok(hres == S_OK, "DoVerb failed: %08lx\n", hres); + ok(IsWindowVisible(hwnd), "Window is invisible\n"); + todo_wine CHECK_CALLED(GetWindowContext); + todo_wine CHECK_CALLED(ShowObject); + SET_EXPECT(OnShowWindow_FALSE); SET_EXPECT(OnInPlaceDeactivate); hres = IOleObject_Close(oleobj, 0); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9706