diff options
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r-- | sway/input/seat.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index d24a6c7a..22fee3c3 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -242,6 +242,7 @@ void sway_seat_set_focus(struct sway_seat *seat, swayc_t *container) { | |||
242 | void sway_seat_set_config(struct sway_seat *seat, | 242 | void sway_seat_set_config(struct sway_seat *seat, |
243 | struct seat_config *seat_config) { | 243 | struct seat_config *seat_config) { |
244 | // clear configs | 244 | // clear configs |
245 | free_seat_config(seat->config); | ||
245 | seat->config = NULL; | 246 | seat->config = NULL; |
246 | 247 | ||
247 | struct sway_seat_device *seat_device = NULL; | 248 | struct sway_seat_device *seat_device = NULL; |
@@ -254,11 +255,9 @@ void sway_seat_set_config(struct sway_seat *seat, | |||
254 | } | 255 | } |
255 | 256 | ||
256 | // add configs | 257 | // add configs |
257 | seat->config = seat_config; | 258 | seat->config = copy_seat_config(seat_config); |
258 | 259 | ||
259 | wl_list_for_each(seat_device, &seat->devices, link) { | 260 | wl_list_for_each(seat_device, &seat->devices, link) { |
260 | seat_device->attachment_config = | 261 | sway_seat_configure_device(seat, seat_device->input_device); |
261 | seat_config_get_attachment(seat_config, | ||
262 | seat_device->input_device->identifier); | ||
263 | } | 262 | } |
264 | } | 263 | } |