diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c index 70340beaadf..0419ed0e99f 100644 --- a/dlls/taskschd/task.c +++ b/dlls/taskschd/task.c @@ -1023,8 +1023,13 @@ static HRESULT WINAPI TaskSettings_get_DisallowStartIfOnBatteries(ITaskSettings static HRESULT WINAPI TaskSettings_put_DisallowStartIfOnBatteries(ITaskSettings *iface, VARIANT_BOOL disallow) { - FIXME("%p,%d: stub\n", iface, disallow); - return E_NOTIMPL; + TaskSettings *taskset = impl_from_ITaskSettings(iface); + + TRACE("%p,%d\n", iface, disallow); + + taskset->disallow_start_if_on_batteries = disallow ? TRUE : FALSE; + + return S_OK; } static HRESULT WINAPI TaskSettings_get_AllowHardTerminate(ITaskSettings *iface, VARIANT_BOOL *allow) diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c index e2f85b1b730..4d038e11d82 100644 --- a/dlls/taskschd/tests/scheduler.c +++ b/dlls/taskschd/tests/scheduler.c @@ -1114,6 +1114,9 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test) ok(hr == S_OK, "expected S_OK, got %#x\n", hr); hr = ITaskSettings_put_DisallowStartIfOnBatteries(set, test->disallow_start_if_on_batteries); + ok(hr == S_OK, "expected S_OK, got %#x\n", hr); + + hr = ITaskSettings_put_AllowHardTerminate(set, test->allow_hard_terminate); todo_wine ok(hr == S_OK, "expected S_OK, got %#x\n", hr); /* FIXME: Remove once implemented */ @@ -1123,9 +1126,6 @@ todo_wine return; } - hr = ITaskSettings_put_AllowHardTerminate(set, test->allow_hard_terminate); - ok(hr == S_OK, "expected S_OK, got %#x\n", hr); - hr = ITaskSettings_put_StartWhenAvailable(set, test->start_when_available); ok(hr == S_OK, "expected S_OK, got %#x\n", hr);