discomfitor pushed a commit to branch master.

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

commit dc61c2e80fe4ae1ad34eff5f627ad473baa2543d
Author: Mike Blumenkrantz <[email protected]>
Date:   Fri May 26 16:34:10 2017 -0400

    elput: use unrounded coords for subpixel struct members in events
    
    @fix
---
 src/lib/elput/elput_evdev.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c
index 94de728e2d..539291f180 100644
--- a/src/lib/elput/elput_evdev.c
+++ b/src/lib/elput/elput_evdev.c
@@ -669,10 +669,10 @@ _pointer_motion_send(Elput_Device *edev)
    ev->multi.radius_y = 1;
    ev->multi.pressure = ptr->pressure;
    ev->multi.angle = 0.0;
-   ev->multi.x = ev->x;
-   ev->multi.y = ev->y;
-   ev->multi.root.x = ev->x;
-   ev->multi.root.y = ev->y;
+   ev->multi.x = ptr->x;
+   ev->multi.y = ptr->y;
+   ev->multi.root.x = ptr->x;
+   ev->multi.root.y = ptr->y;
 
    ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
 }
@@ -772,10 +772,10 @@ _pointer_button_send(Elput_Device *edev, enum 
libinput_button_state state)
    ev->multi.radius_y = 1;
    ev->multi.pressure = ptr->pressure;
    ev->multi.angle = 0.0;
-   ev->multi.x = ev->x;
-   ev->multi.y = ev->y;
-   ev->multi.root.x = ev->x;
-   ev->multi.root.y = ev->y;
+   ev->multi.x = ptr->x;
+   ev->multi.y = ptr->y;
+   ev->multi.root.x = ptr->x;
+   ev->multi.root.y = ptr->y;
 
    ev->buttons = ptr->buttons;
 
@@ -1034,10 +1034,10 @@ _touch_motion_send(Elput_Device *dev)
    ev->timestamp = touch->timestamp;
    ev->same_screen = 1;
 
-   ev->x = touch->x;
-   ev->y = touch->y;
-   ev->root.x = touch->x;
-   ev->root.y = touch->y;
+   ev->x = lround(touch->x);
+   ev->y = lround(touch->y);
+   ev->root.x = ev->x;
+   ev->root.y = ev->y;
 
    ev->modifiers = dev->seat->modifiers;
 
@@ -1047,10 +1047,10 @@ _touch_motion_send(Elput_Device *dev)
    ev->multi.radius_y = 1;
    ev->multi.pressure = touch->pressure;
    ev->multi.angle = 0.0;
-   ev->multi.x = ev->x;
-   ev->multi.y = ev->y;
-   ev->multi.root.x = ev->x;
-   ev->multi.root.y = ev->y;
+   ev->multi.x = touch->x;
+   ev->multi.y = touch->y;
+   ev->multi.root.x = touch->x;
+   ev->multi.root.y = touch->y;
 
    ecore_event_add(ECORE_EVENT_MOUSE_MOVE, ev, NULL, NULL);
 }

-- 


Reply via email to