From da59ffa8a059f6504868f4d93c5d62f099ab77b6 Mon Sep 17 00:00:00 2001 From: vilhalmer Date: Sun, 3 Feb 2019 13:41:35 -0500 Subject: Skip wildcard seat config in destroy_removed_seats --- sway/config.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sway/config.c b/sway/config.c index 7cb27d95..54d29fc9 100644 --- a/sway/config.c +++ b/sway/config.c @@ -141,6 +141,11 @@ static void destroy_removed_seats(struct sway_config *old_config, int i; for (i = 0; i < old_config->seat_configs->length; i++) { seat_config = old_config->seat_configs->items[i]; + // Skip the wildcard seat config, it won't have a matching real seat. + if (strcmp(seat_config->name, "*") == 0) { + continue; + } + /* Also destroy seats that aren't present in new config */ if (new_config && list_seq_find(new_config->seat_configs, seat_name_cmp, seat_config->name) < 0) { -- cgit v1.2.3-54-g00ecf From 907595b10db44dee9f366ff36947c63bf6433fee Mon Sep 17 00:00:00 2001 From: vilhalmer Date: Sun, 3 Feb 2019 13:44:37 -0500 Subject: Skip constraining cursor if no seat config --- sway/input/cursor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sway/input/cursor.c b/sway/input/cursor.c index c38d8d3a..5e1cdaed 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -1459,7 +1459,7 @@ void handle_pointer_constraint(struct wl_listener *listener, void *data) { void sway_cursor_constrain(struct sway_cursor *cursor, struct wlr_pointer_constraint_v1 *constraint) { struct seat_config *config = seat_get_config(cursor->seat); - if (config->allow_constrain == CONSTRAIN_DISABLE) { + if (!config || config->allow_constrain == CONSTRAIN_DISABLE) { return; } -- cgit v1.2.3-54-g00ecf From f8a91171491c1e8a3591461aa540511ec4fe4875 Mon Sep 17 00:00:00 2001 From: vilhalmer Date: Sun, 3 Feb 2019 13:46:44 -0500 Subject: Fall back to wildcard in sway_cursor_constrain --- sway/input/cursor.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sway/input/cursor.c b/sway/input/cursor.c index 5e1cdaed..01aae79d 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -1459,6 +1459,10 @@ void handle_pointer_constraint(struct wl_listener *listener, void *data) { void sway_cursor_constrain(struct sway_cursor *cursor, struct wlr_pointer_constraint_v1 *constraint) { struct seat_config *config = seat_get_config(cursor->seat); + if (!config) { + config = seat_get_config_by_name("*"); + } + if (!config || config->allow_constrain == CONSTRAIN_DISABLE) { return; } -- cgit v1.2.3-54-g00ecf