From c8224270914909c02180e4892132fde3fa5cedb9 Mon Sep 17 00:00:00 2001 From: Tudor Brindus Date: Thu, 25 Jun 2020 15:26:16 -0400 Subject: [PATCH] input/pointer: correctly handle bindings for synthetic events This commit addresses a regression introduced in 8fa74ad. Fixes #5481. --- sway/input/seatop_default.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sway/input/seatop_default.c b/sway/input/seatop_default.c index a1b4aeb2..55c9159a 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; }