diff options
author | Wonki Kim <wonki_.kim@samsung.com> | 2019-01-29 07:06:33 -0500 |
---|---|---|
committer | Christopher Michael <cp.michael@samsung.com> | 2019-01-29 07:06:33 -0500 |
commit | 3bedc63315d8ff32e8db7dc99697d6c1bbf8a79d (patch) | |
tree | fcbb943ea9ebe54b0ed16f30e38c420210b5d1f5 | |
parent | a016f8e592d8e1fed68e231cda62313e9ac178a7 (diff) | |
download | efl-3bedc63315d8ff32e8db7dc99697d6c1bbf8a79d.tar.gz |
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
-rw-r--r-- | src/lib/ecore_wl2/ecore_wl2_input.c | 5 |
1 files changed, 5 insertions, 0 deletions
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); |