tools: Check if axis value is available in debugging GUI
authorFriedrich Schöller <code@schoeller.se>
Fri, 23 Jan 2015 21:31:05 +0000 (22:31 +0100)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 27 Jan 2015 03:34:23 +0000 (13:34 +1000)
libinput complained with lots of "client bug" messages because the GUI tool
did not check which axis values were available.

Signed-off-by: Friedrich Schöller <code@schoeller.se>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
tools/event-gui.c

index e574bf7..70dd854 100644 (file)
@@ -358,19 +358,21 @@ static void
 handle_event_axis(struct libinput_event *ev, struct window *w)
 {
        struct libinput_event_pointer *p = libinput_event_get_pointer_event(ev);
-       double v, h;
+       double value;
 
-       v = libinput_event_pointer_get_axis_value(p,
-                     LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL);
-       h = libinput_event_pointer_get_axis_value(p,
-                     LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL);
-
-       if (v != 0.0) {
-               w->vy += (int)v;
+       if (libinput_event_pointer_has_axis(p,
+                       LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL)) {
+               value = libinput_event_pointer_get_axis_value(p,
+                               LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL);
+               w->vy += (int)value;
                w->vy = clip(w->vy, 0, w->height);
        }
-       if (h != 0.0) {
-               w->hx += (int)h;
+
+       if (libinput_event_pointer_has_axis(p,
+                       LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL)) {
+               value = libinput_event_pointer_get_axis_value(p,
+                               LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL);
+               w->hx += (int)value;
                w->hx = clip(w->hx, 0, w->width);
        }
 }