summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTudor Brindus <me@tbrindus.ca>2020-06-25 15:26:16 -0400
committerSimon Ser <contact@emersion.fr>2020-06-25 21:32:15 +0200
commitc8224270914909c02180e4892132fde3fa5cedb9 (patch)
tree6db0f715cda8468a9407d6062542560537bfdf96
parentba0232e6f056fb7a6832aac21a6bd6230df9ab69 (diff)
input/pointer: correctly handle bindings for synthetic events
This commit addresses a regression introduced in 8fa74ad. Fixes #5481.
-rw-r--r--sway/input/seatop_default.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sway/input/seatop_default.c b/sway/input/seatop_default.c
index a1b4aeb2a..55c9159ac 100644
--- a/sway/input/seatop_default.c
+++ b/sway/input/seatop_default.c
@@ -280,8 +280,9 @@ static bool trigger_pointer_button_binding(struct sway_seat *seat,
enum wlr_button_state state, uint32_t modifiers,
bool on_titlebar, bool on_border, bool on_contents, bool on_workspace) {
// We can reach this for non-pointer devices if we're currently emulating
- // pointer input for one. Emulated input should not trigger bindings.
- if (device->type != WLR_INPUT_DEVICE_POINTER) {
+ // pointer input for one. Emulated input should not trigger bindings. The
+ // device can be NULL if this is synthetic (e.g. swaymsg-generated) input.
+ if (device && device->type != WLR_INPUT_DEVICE_POINTER) {
return false;
}