diff options
Diffstat (limited to 'sway/config.c')
-rw-r--r-- | sway/config.c | 11 |
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); + } } } } |