From: Hans Leidekker Subject: [PATCH 09/10] taskschd: Implement ITaskSettings_put_ExecutionTimeLimit. Message-Id: <20171122140839.13140-9-hans@codeweavers.com> Date: Wed, 22 Nov 2017 15:08:38 +0100 Signed-off-by: Hans Leidekker --- dlls/taskschd/task.c | 10 +++++++++- dlls/taskschd/tests/scheduler.c | 6 +++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c index 7f44d383d5..3b02cb9dbc 100644 --- a/dlls/taskschd/task.c +++ b/dlls/taskschd/task.c @@ -1138,8 +1138,16 @@ static HRESULT WINAPI TaskSettings_get_ExecutionTimeLimit(ITaskSettings *iface, static HRESULT WINAPI TaskSettings_put_ExecutionTimeLimit(ITaskSettings *iface, BSTR limit) { + TaskSettings *taskset = impl_from_ITaskSettings(iface); + BSTR str = NULL; + TRACE("%p,%s\n", iface, debugstr_w(limit)); - return E_NOTIMPL; + + if (limit && !(str = SysAllocString(limit))) return E_OUTOFMEMORY; + SysFreeString(taskset->execution_time_limit); + taskset->execution_time_limit = str; + + return S_OK; } static HRESULT WINAPI TaskSettings_get_Enabled(ITaskSettings *iface, VARIANT_BOOL *enabled) diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c index 9e3e3811c4..f710219e98 100644 --- a/dlls/taskschd/tests/scheduler.c +++ b/dlls/taskschd/tests/scheduler.c @@ -1129,6 +1129,9 @@ static void change_settings(ITaskDefinition *taskdef, struct settings *test) hr = ITaskSettings_put_ExecutionTimeLimit(set, NULL); else hr = ITaskSettings_put_ExecutionTimeLimit(set, test->execution_time_limit); + ok(hr == S_OK, "expected S_OK, got %#x\n", hr); + + hr = ITaskSettings_put_Enabled(set, test->enabled); todo_wine ok(hr == S_OK, "expected S_OK, got %#x\n", hr); /* FIXME: Remove once implemented */ @@ -1138,9 +1141,6 @@ todo_wine return; } - hr = ITaskSettings_put_Enabled(set, test->enabled); - ok(hr == S_OK, "expected S_OK, got %#x\n", hr); - if (!test->delete_expired_task_after[0]) hr = ITaskSettings_put_DeleteExpiredTaskAfter(set, NULL); else -- 2.11.0