summaryrefslogtreecommitdiff
path: root/src/grail-api.c
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-09-21 10:18:09 +0200
committerHenrik Rydberg <rydberg@euromail.se>2010-09-21 12:56:17 +0200
commitd638d408615427196b031692f8fd14a83a790d30 (patch)
tree60c9f9c75604b8dc53ebe2015e3c492858b97311 /src/grail-api.c
parentcd1812c4d8bca7ffc0c27fc16561c40a935ab6c2 (diff)
bug: Only report position change events
This bug was introduced in v1.0.11. Only report events when the pointer position is actually changing. Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'src/grail-api.c')
-rw-r--r--src/grail-api.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/grail-api.c b/src/grail-api.c
index 9490659..d4ad83d 100644
--- a/src/grail-api.c
+++ b/src/grail-api.c
@@ -80,8 +80,14 @@ static void handle_abs_events(struct grail *ge, const struct input_event *syn)
80 impl->pointer_status = pointer; 80 impl->pointer_status = pointer;
81 } 81 }
82 if (pointer) { 82 if (pointer) {
83 evput(impl, syn->time, EV_ABS, ABS_X, impl->pointer_x); 83 if (impl->report_x != impl->pointer_x) {
84 evput(impl, syn->time, EV_ABS, ABS_Y, impl->pointer_y); 84 evput(impl, syn->time, EV_ABS, ABS_X, impl->pointer_x);
85 impl->report_x = impl->pointer_x;
86 }
87 if (impl->report_y != impl->pointer_y) {
88 evput(impl, syn->time, EV_ABS, ABS_Y, impl->pointer_y);
89 impl->report_y = impl->pointer_y;
90 }
85 } 91 }
86} 92}
87 93