path: root/src/lib/ecore_wl2/ecore_wl2_input.c
diff options
authorWonki Kim <wonki_.kim@samsung.com>2019-01-29 07:06:33 -0500
committerChristopher Michael <cp.michael@samsung.com>2019-01-29 07:06:33 -0500
commit3bedc63315d8ff32e8db7dc99697d6c1bbf8a79d (patch)
treefcbb943ea9ebe54b0ed16f30e38c420210b5d1f5 /src/lib/ecore_wl2/ecore_wl2_input.c
parenteina modinfo: improve eina modinfo guide. (diff)
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
Diffstat (limited to 'src/lib/ecore_wl2/ecore_wl2_input.c')
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;
@@ -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),
@@ -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);