From: Kristian Høgsberg Date: Fri, 18 Nov 2011 15:42:34 +0000 (-0500) Subject: evdev: Reset accumulate values when we flush motion events X-Git-Tag: 0.1.0~163^2~133 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0090c3b29ea6e82324b5d41b11e634d56c7b74ed;p=platform%2Fupstream%2Flibinput.git evdev: Reset accumulate values when we flush motion events Otherwise we end up reporting all motion events twice. --- diff --git a/compositor/evdev.c b/compositor/evdev.c index 784fa4c..5138c09 100644 --- a/compositor/evdev.c +++ b/compositor/evdev.c @@ -229,9 +229,14 @@ evdev_input_device_data(int fd, uint32_t mask, void *data) /* we try to minimize the amount of notifications to be * forwarded to the compositor, so we accumulate motion * events and send as a bunch */ - if (!is_motion_event(e)) + if (!is_motion_event(e)) { evdev_flush_motion(&device->master->base.input_device, time, x, y, dx, dy, absolute_event); + dx = 0; + dy = 0; + absolute_event = 0; + } + switch (e->type) { case EV_REL: evdev_process_relative_motion(e, &dx, &dy);