You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.4 KiB
39 lines
1.4 KiB
From edcc95e914079485b7d693cecbfc436d084ad47d Mon Sep 17 00:00:00 2001 |
|
From: Jason Gerecke <killertofu@gmail.com> |
|
Date: Fri, 9 Jun 2017 16:02:06 -0700 |
|
Subject: [PATCH xserver 11/12] xwayland: Correct off-by-one error in tablet |
|
button numbering |
|
|
|
The 'tablet_tool_frame' function treats the button masks as though they |
|
are zero-indexed, but 'tablet_tool_button_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@wacom.com> |
|
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> |
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
|
(cherry picked from commit fbc9814975fe82be25becf1a55d4f8d34298a956) |
|
--- |
|
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 ee932be60..a6d7d9356 100644 |
|
--- a/hw/xwayland/xwayland-input.c |
|
+++ b/hw/xwayland/xwayland-input.c |
|
@@ -1626,9 +1626,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.5 |
|
|
|
|