[PATCH 5/7] taskschd: Implement ITaskSettings_put_RunOnlyIfIdle.

Hans Leidekker hans at codeweavers.com
Wed Nov 29 03:05:34 CST 2017


Signed-off-by: Hans Leidekker <hans at codeweavers.com>
---
 dlls/taskschd/task.c            | 9 +++++++--
 dlls/taskschd/tests/scheduler.c | 6 +++---
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index d2b5d585c6..e64abde8a0 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -1307,8 +1307,13 @@ static HRESULT WINAPI TaskSettings_get_RunOnlyIfIdle(ITaskSettings *iface, VARIA
 
 static HRESULT WINAPI TaskSettings_put_RunOnlyIfIdle(ITaskSettings *iface, VARIANT_BOOL run)
 {
-    FIXME("%p,%d: stub\n", iface, run);
-    return E_NOTIMPL;
+    TaskSettings *taskset = impl_from_ITaskSettings(iface);
+
+    TRACE("%p,%d\n", iface, run);
+
+    taskset->run_only_if_idle = run ? TRUE : FALSE;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI TaskSettings_get_WakeToRun(ITaskSettings *iface, VARIANT_BOOL *wake)
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index a2acda3ee7..9054c54936 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -1150,6 +1150,9 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test)
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
 
     hr = ITaskSettings_put_RunOnlyIfIdle(set, test->run_only_if_idle);
+    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
+
+    hr = ITaskSettings_put_WakeToRun(set, test->wake_to_run);
 todo_wine
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
     /* FIXME: Remove once implemented */
@@ -1159,9 +1162,6 @@ todo_wine
         return;
     }
 
-    hr = ITaskSettings_put_WakeToRun(set, test->wake_to_run);
-    ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
-
     hr = ITaskSettings_put_AllowDemandStart(set, test->allow_on_demand_start);
     ok(hr == S_OK, "expected S_OK, got %#x\n", hr);
 
-- 
2.11.0




More information about the wine-devel mailing list