From: Gabriel Ivăncescu gabrielopcode@gmail.com
But convert to double as late as possible.
Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/mshtml/mshtml_private.h | 2 +- dlls/mshtml/task.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 638b23e1379..63e21b44c3a 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -1389,7 +1389,7 @@ LONG get_task_target_magic(void); HRESULT push_task(task_t*,task_proc_t,task_proc_t,LONG); HRESULT push_event_task(event_task_t*,HTMLInnerWindow*,event_task_proc_t,event_task_proc_t,LONG); void remove_target_tasks(LONG); -ULONGLONG get_time_stamp(void); +double get_time_stamp(void);
enum timer_type { TIMER_TIMEOUT, diff --git a/dlls/mshtml/task.c b/dlls/mshtml/task.c index 49f76d101a9..5015d7e8cf3 100644 --- a/dlls/mshtml/task.c +++ b/dlls/mshtml/task.c @@ -468,15 +468,15 @@ thread_data_t *get_thread_data(BOOL create) return thread_data; }
-ULONGLONG get_time_stamp(void) +double get_time_stamp(void) { FILETIME time;
/* 1601 to 1970 is 369 years plus 89 leap days */ - const ULONGLONG time_epoch = (ULONGLONG)(369 * 365 + 89) * 86400 * 1000; + const ULONGLONG time_epoch = (ULONGLONG)(369 * 365 + 89) * 86400 * 10000000;
GetSystemTimeAsFileTime(&time); - return (((ULONGLONG)time.dwHighDateTime << 32) + time.dwLowDateTime) / 10000 - time_epoch; + return (((ULONGLONG)time.dwHighDateTime << 32) + time.dwLowDateTime - time_epoch) * 0.0001; }
void unblock_tasks_and_timers(thread_data_t *thread_data)