[PATCH 5/5] msscript: Implement GetActivationPolicy()

Nikolay Sivov nsivov at codeweavers.com
Mon Jun 20 06:00:31 CDT 2016


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/msscript.ocx/msscript.c       | 8 ++++++--
 dlls/msscript.ocx/tests/msscript.c | 9 +++++++++
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/dlls/msscript.ocx/msscript.c b/dlls/msscript.ocx/msscript.c
index db4d901..66018d3 100644
--- a/dlls/msscript.ocx/msscript.c
+++ b/dlls/msscript.ocx/msscript.c
@@ -1078,9 +1078,13 @@ static HRESULT WINAPI PointerInactive_GetActivationPolicy(IPointerInactive *ifac
 {
     ScriptControl *This = impl_from_IPointerInactive(iface);
 
-    FIXME("(%p)->(%p)\n", This, policy);
+    TRACE("(%p)->(%p)\n", This, policy);
 
-    return E_NOTIMPL;
+    if (!policy)
+        return E_POINTER;
+
+    *policy = 0;
+    return S_OK;
 }
 
 static HRESULT WINAPI PointerInactive_OnInactiveMouseMove(IPointerInactive *iface, const RECT *bounds,
diff --git a/dlls/msscript.ocx/tests/msscript.c b/dlls/msscript.ocx/tests/msscript.c
index 287daf9..9043361 100644
--- a/dlls/msscript.ocx/tests/msscript.c
+++ b/dlls/msscript.ocx/tests/msscript.c
@@ -847,6 +847,7 @@ static void test_pointerinactive(void)
 {
     IPointerInactive *pi;
     IScriptControl *sc;
+    DWORD policy;
     HRESULT hr;
 
     hr = CoCreateInstance(&CLSID_ScriptControl, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
@@ -856,6 +857,14 @@ static void test_pointerinactive(void)
     hr = IScriptControl_QueryInterface(sc, &IID_IPointerInactive, (void**)&pi);
     ok(hr == S_OK, "got 0x%08x\n", hr);
 
+    if (0) /* crashes w2k3 */
+        hr = IPointerInactive_GetActivationPolicy(pi, NULL);
+
+    policy = 123;
+    hr = IPointerInactive_GetActivationPolicy(pi, &policy);
+    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(policy == 0, "got %#x\n", policy);
+
     IPointerInactive_Release(pi);
     IScriptControl_Release(sc);
 }
-- 
2.8.1




More information about the wine-patches mailing list