devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3bedc63315d8ff32e8db7dc99697d6c1bbf8a79d

commit 3bedc63315d8ff32e8db7dc99697d6c1bbf8a79d
Author: Wonki Kim <wonki_....@samsung.com>
Date:   Tue Jan 29 07:06:33 2019 -0500

    ecore_wl2_input: update a timestamp whenever possible
    
    Summary:
    gettimeofday function returns a accumulated timestamp since around 1970 by 
the way,
    a argument from server looks like a system uptime based timestamp
    in some distribution such as tizen.
    
    so that this patch appends a logic that updates a timestamp
    inside Ecore_Wl2_Input* whenever possible to
    prevent gettimeofday function from being called.
    
    Reviewers: #reviewers, cedric, devilhorns
    
    Reviewed By: #reviewers, devilhorns
    
    Subscribers: devilhorns, cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D7766
---
 src/lib/ecore_wl2/ecore_wl2_input.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index 721f6a10ee..0d480f50e8 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -765,6 +765,7 @@ _pointer_cb_button(void *data, struct wl_pointer *pointer 
EINA_UNUSED, unsigned
    if (!input) return;
 
    input->display->serial = serial;
+   input->timestamp = timestamp;
 
    if (state == WL_POINTER_BUTTON_STATE_PRESSED)
      {
@@ -802,6 +803,8 @@ _pointer_cb_axis(void *data, struct wl_pointer *pointer 
EINA_UNUSED, unsigned in
    input = data;
    if (!input) return;
 
+   input->timestamp = timestamp;
+
    _ecore_wl2_input_mouse_wheel_send(input, axis, wl_fixed_to_int(value),
                                      timestamp);
 }
@@ -1056,6 +1059,7 @@ _keyboard_cb_key(void *data, struct wl_keyboard *keyboard 
EINA_UNUSED, unsigned
    if (!window) return;
 
    input->display->serial = serial;
+   input->timestamp = timestamp;
 
    /* xkb rules reflect X broken keycodes, so offset by 8 */
    code = keycode + 8;
@@ -1205,6 +1209,7 @@ _touch_cb_down(void *data, struct wl_touch *touch 
EINA_UNUSED, unsigned int seri
    if (!window) return;
 
    input->focus.touch = window;
+   input->timestamp = timestamp;
 
    _pointer_cb_enter(data, NULL, serial, surface, x, y);
 

-- 


Reply via email to