[PATCH 2/2] libinput: Check if axis value is available in debugging GUI

code at schoeller.se code at schoeller.se
Fri Jan 23 13:31:05 PST 2015


From: Friedrich Schöller <code at schoeller.se>

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 at schoeller.se>
---
 tools/event-gui.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/tools/event-gui.c b/tools/event-gui.c
index e574bf7..9585f4f 100644
--- a/tools/event-gui.c
+++ b/tools/event-gui.c
@@ -358,19 +358,23 @@ 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;
-
-	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;
+	double value;
+
+	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);
 	}
 }
-- 
2.2.2



More information about the wayland-devel mailing list