summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2019-02-07 01:52:58 -0500
committerFurkan Sahin <furkan-dev@proton.me>2019-02-07 01:52:58 -0500
commit13249e91e667574364f1f7484af7ed5044540a43 (patch)
tree8628735f74dd5cd446745a9a937c3fd5c40845c6
parent9136cb75dabf44dc7ffb7ac93a33c2291cc19c3b (diff)
seat_configure_tablet_tool: configure xcursor
Since a tablet tool provides the WL_SEAT_CAPABILITY_POINTER capability, sway will attempt to use the xcursor manager to set a cursor image. If the tablet tool was the first (and possibly only) device to provide the capability for the seat, the xcursor manager was not being configured before attempting to set a cursor image. This was due to `seat_configure_xcursor` only being called in `seat_configure_pointer`. Since the xcursor manager was NULL in this case, it would cause a segfault when attempting to set a cursor image. This adds a call to `seat_configure_xcursor` in `seat_configure_tablet_tool` to ensure that the seat has a xcursor manager.
-rw-r--r--sway/input/seat.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c
index d159da22..18664d7c 100644
--- a/sway/input/seat.c
+++ b/sway/input/seat.c
@@ -525,6 +525,7 @@ static void seat_configure_touch(struct sway_seat *seat,
static void seat_configure_tablet_tool(struct sway_seat *seat,
struct sway_seat_device *sway_device) {
+ seat_configure_xcursor(seat);
wlr_cursor_attach_input_device(seat->cursor->cursor,
sway_device->input_device->wlr_device);
seat_apply_input_config(seat, sway_device);