From c34f09b9d8dc534d1dc3894bb81f0260b39b2ecc Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Tue, 21 Jun 2016 13:41:36 +0300 Subject: [PATCH] msscript: Implement GetViewStatus(). Signed-off-by: Nikolay Sivov Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/msscript.ocx/msscript.c | 5 +++-- dlls/msscript.ocx/tests/msscript.c | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/dlls/msscript.ocx/msscript.c b/dlls/msscript.ocx/msscript.c index ea4ce3cb89f..5be53da5e69 100644 --- a/dlls/msscript.ocx/msscript.c +++ b/dlls/msscript.ocx/msscript.c @@ -1073,9 +1073,10 @@ static HRESULT WINAPI ViewObject_GetViewStatus(IViewObjectEx *iface, DWORD *stat { ScriptControl *This = impl_from_IViewObjectEx(iface); - FIXME("(%p)->(%p)\n", This, status); + TRACE("(%p)->(%p)\n", This, status); - return E_NOTIMPL; + *status = VIEWSTATUS_OPAQUE; + return S_OK; } static HRESULT WINAPI ViewObject_QueryHitPoint(IViewObjectEx *iface, DWORD aspect, const RECT *bounds, diff --git a/dlls/msscript.ocx/tests/msscript.c b/dlls/msscript.ocx/tests/msscript.c index 97c700e5212..714b07529b7 100644 --- a/dlls/msscript.ocx/tests/msscript.c +++ b/dlls/msscript.ocx/tests/msscript.c @@ -828,8 +828,10 @@ static void test_quickactivate(void) static void test_viewobject(void) { + IViewObjectEx *viewex; IScriptControl *sc; IViewObject *view; + DWORD status; HRESULT hr; hr = CoCreateInstance(&CLSID_ScriptControl, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, @@ -844,9 +846,18 @@ static void test_viewobject(void) ok(hr == S_OK, "got 0x%08x\n", hr); IViewObject_Release(view); - hr = IScriptControl_QueryInterface(sc, &IID_IViewObjectEx, (void**)&view); + hr = IScriptControl_QueryInterface(sc, &IID_IViewObjectEx, (void**)&viewex); ok(hr == S_OK, "got 0x%08x\n", hr); - IViewObject_Release(view); + + if (0) /* crashes */ + hr = IViewObjectEx_GetViewStatus(viewex, NULL); + + status = 0; + hr = IViewObjectEx_GetViewStatus(viewex, &status); + ok(hr == S_OK, "got 0x%08x\n", hr); + ok(status == VIEWSTATUS_OPAQUE, "got %#x\n", status); + + IViewObjectEx_Release(viewex); IScriptControl_Release(sc); }