aboutsummaryrefslogtreecommitdiffstats
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,
141 int i; 141 int i;
142 for (i = 0; i < old_config->seat_configs->length; i++) { 142 for (i = 0; i < old_config->seat_configs->length; i++) {
143 seat_config = old_config->seat_configs->items[i]; 143 seat_config = old_config->seat_configs->items[i];
144 // Skip the wildcard seat config, it won't have a matching real seat.
145 if (strcmp(seat_config->name, "*") == 0) {
146 continue;
147 }
148
144 /* Also destroy seats that aren't present in new config */ 149 /* Also destroy seats that aren't present in new config */
145 if (new_config && list_seq_find(new_config->seat_configs, 150 if (new_config && list_seq_find(new_config->seat_configs,
146 seat_name_cmp, seat_config->name) < 0) { 151 seat_name_cmp, seat_config->name) < 0) {
147 seat = input_manager_get_seat(seat_config->name); 152 seat = input_manager_get_seat(seat_config->name, false);
148 seat_destroy(seat); 153 if (seat) {
154 seat_destroy(seat);
155 }
149 } 156 }
150 } 157 }
151} 158}