1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00

mstask: Don't assume a ONCE trigger is on the current day.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52994
This commit is contained in:
Sven Baars 2022-12-02 14:26:15 +01:00 committed by Alexandre Julliard
parent 3285363da6
commit 7f73494302
2 changed files with 19 additions and 0 deletions

View File

@ -516,6 +516,9 @@ static HRESULT WINAPI MSTASK_ITask_GetNextRunTime(ITask *iface, SYSTEMTIME *rt)
case TASK_TIME_TRIGGER_ONCE:
st = current_st;
st.wYear = This->trigger[i].wBeginYear;
st.wMonth = This->trigger[i].wBeginMonth;
st.wDay = This->trigger[i].wBeginDay;
st.wHour = This->trigger[i].wStartHour;
st.wMinute = This->trigger[i].wStartMinute;
st.wSecond = 0;

View File

@ -525,6 +525,22 @@ static void test_GetNextRunTime(void)
hr = ITaskTrigger_SetTrigger(trigger, &data);
ok(hr == S_OK, "got %#lx\n", hr);
memset(&st, 0xff, sizeof(st));
hr = ITask_GetNextRunTime(task, &st);
ok(hr == S_OK, "got %#lx\n", hr);
ok(!memcmp(&st, &cmp, sizeof(st)), "got %u/%u/%u wday %u %u:%02u:%02u\n",
st.wDay, st.wMonth, st.wYear, st.wDayOfWeek,
st.wHour, st.wMinute, st.wSecond);
hr = ITaskTrigger_GetTrigger(trigger, &data);
ok(hr == S_OK, "got %#lx\n", hr);
data.rgFlags &= ~TASK_TRIGGER_FLAG_DISABLED;
data.TriggerType = TASK_TIME_TRIGGER_ONCE;
/* add 1 day to test triggers in the far future */
trigger_add_ms(&data, 24 * 60 * 60 * 1000, &cmp);
hr = ITaskTrigger_SetTrigger(trigger, &data);
ok(hr == S_OK, "got %#lx\n", hr);
memset(&st, 0xff, sizeof(st));
hr = ITask_GetNextRunTime(task, &st);
ok(hr == S_OK, "got %#lx\n", hr);