aboutsummaryrefslogtreecommitdiff
path: root/sway/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/config.c')
-rw-r--r--sway/config.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sway/config.c b/sway/config.c
index 7cb27d95..ee1c42df 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -141,11 +141,18 @@ 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) {
- seat = input_manager_get_seat(seat_config->name);
- seat_destroy(seat);
+ seat = input_manager_get_seat(seat_config->name, false);
+ if (seat) {
+ seat_destroy(seat);
+ }
}
}
}