forked from enlightenment/efl
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
This commit is contained in:
parent
a016f8e592
commit
3bedc63315
|
@ -765,6 +765,7 @@ _pointer_cb_button(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned
|
||||||
if (!input) return;
|
if (!input) return;
|
||||||
|
|
||||||
input->display->serial = serial;
|
input->display->serial = serial;
|
||||||
|
input->timestamp = timestamp;
|
||||||
|
|
||||||
if (state == WL_POINTER_BUTTON_STATE_PRESSED)
|
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;
|
input = data;
|
||||||
if (!input) return;
|
if (!input) return;
|
||||||
|
|
||||||
|
input->timestamp = timestamp;
|
||||||
|
|
||||||
_ecore_wl2_input_mouse_wheel_send(input, axis, wl_fixed_to_int(value),
|
_ecore_wl2_input_mouse_wheel_send(input, axis, wl_fixed_to_int(value),
|
||||||
timestamp);
|
timestamp);
|
||||||
}
|
}
|
||||||
|
@ -1056,6 +1059,7 @@ _keyboard_cb_key(void *data, struct wl_keyboard *keyboard EINA_UNUSED, unsigned
|
||||||
if (!window) return;
|
if (!window) return;
|
||||||
|
|
||||||
input->display->serial = serial;
|
input->display->serial = serial;
|
||||||
|
input->timestamp = timestamp;
|
||||||
|
|
||||||
/* xkb rules reflect X broken keycodes, so offset by 8 */
|
/* xkb rules reflect X broken keycodes, so offset by 8 */
|
||||||
code = keycode + 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;
|
if (!window) return;
|
||||||
|
|
||||||
input->focus.touch = window;
|
input->focus.touch = window;
|
||||||
|
input->timestamp = timestamp;
|
||||||
|
|
||||||
_pointer_cb_enter(data, NULL, serial, surface, x, y);
|
_pointer_cb_enter(data, NULL, serial, surface, x, y);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue