Jacek Caban : mshtml: Factor out get_time_stamp helper.

Alexandre Julliard julliard at winehq.org
Thu Apr 22 15:55:24 CDT 2021


Module: wine
Branch: master
Commit: 37a236870388fb1ba3e5e29ecef3f8d0a2a8cd5b
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=37a236870388fb1ba3e5e29ecef3f8d0a2a8cd5b

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Apr 22 01:49:11 2021 +0200

mshtml: Factor out get_time_stamp helper.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmlevent.c      |  8 +-------
 dlls/mshtml/mshtml_private.h |  1 +
 dlls/mshtml/task.c           | 11 +++++++++++
 3 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/dlls/mshtml/htmlevent.c b/dlls/mshtml/htmlevent.c
index 51b976c2077..b3b95083f80 100644
--- a/dlls/mshtml/htmlevent.c
+++ b/dlls/mshtml/htmlevent.c
@@ -2208,12 +2208,8 @@ static DOMEvent *alloc_event(nsIDOMEvent *nsevent, compat_mode_t compat_mode, ev
 {
     dispex_static_data_t *dispex_data = &DOMEvent_dispex;
     DOMEvent *event = NULL;
-    FILETIME time;
     nsresult nsres;
 
-    /* 1601 to 1970 is 369 years plus 89 leap days */
-    const ULONGLONG time_epoch = (ULONGLONG)(369 * 365 + 89) * 86400 * 1000;
-
     if(check_event_iface(nsevent, &IID_nsIDOMCustomEvent)) {
         DOMCustomEvent *custom_event = heap_alloc_zero(sizeof(*custom_event));
         if(!custom_event)
@@ -2247,9 +2243,7 @@ static DOMEvent *alloc_event(nsIDOMEvent *nsevent, compat_mode_t compat_mode, ev
     }
     nsIDOMEvent_AddRef(event->nsevent = nsevent);
 
-    GetSystemTimeAsFileTime(&time);
-    event->time_stamp = (((ULONGLONG)time.dwHighDateTime<<32) + time.dwLowDateTime) / 10000
-        - time_epoch;
+    event->time_stamp = get_time_stamp();
 
     nsres = nsIDOMEvent_QueryInterface(nsevent, &IID_nsIDOMUIEvent, (void**)&event->ui_event);
     if(NS_SUCCEEDED(nsres))
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 4cbddb68022..9d1737cc81f 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -1212,6 +1212,7 @@ HWND get_thread_hwnd(void) DECLSPEC_HIDDEN;
 LONG get_task_target_magic(void) DECLSPEC_HIDDEN;
 HRESULT push_task(task_t*,task_proc_t,task_proc_t,LONG) DECLSPEC_HIDDEN;
 void remove_target_tasks(LONG) DECLSPEC_HIDDEN;
+ULONGLONG get_time_stamp(void) DECLSPEC_HIDDEN;
 
 enum timer_type {
     TIMER_TIMEOUT,
diff --git a/dlls/mshtml/task.c b/dlls/mshtml/task.c
index c26f3754fd4..b7616058461 100644
--- a/dlls/mshtml/task.c
+++ b/dlls/mshtml/task.c
@@ -380,3 +380,14 @@ thread_data_t *get_thread_data(BOOL create)
 
     return thread_data;
 }
+
+ULONGLONG 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;
+
+    GetSystemTimeAsFileTime(&time);
+    return (((ULONGLONG)time.dwHighDateTime << 32) + time.dwLowDateTime) / 10000 - time_epoch;
+}




More information about the wine-cvs mailing list