[PATCH xwayland 1/2] xwayland: Correct off-by-one error in tablet button numbering

Jason Gerecke killertofu at gmail.com
Fri Jun 9 23:02:06 UTC 2017


The 'tablet_tool_frame' function treats the button masks as though they
are zero-indexed, but 'tablet_tool_function_state' treats them as one-
indexed. The result is that an e.g. middle click event recieved from
Wayland will be sent from the X server as a right-click instead.

Fixes: 773b04748d0 ("xwayland: handle button events after motion events")
Signed-off-by: Jason Gerecke <jason.gerecke at wacom.com>
---
 hw/xwayland/xwayland-input.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 557aac8ed..c2801fa70 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -1620,9 +1620,9 @@ tablet_tool_button_state(void *data, struct zwp_tablet_tool_v2 *tool,
     BUG_RETURN(xbtn >= 8 * sizeof(*mask));
 
     if (state)
-        SetBit(mask, xbtn);
+        SetBit(mask, xbtn - 1);
     else
-        ClearBit(mask, xbtn);
+        ClearBit(mask, xbtn - 1);
 
     xwl_seat->xwl_screen->serial = serial;
 }
-- 
2.13.0



More information about the xorg-devel mailing list