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 ae6dc7c4..e9b375e0 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -241,6 +241,7 @@ void sway_seat_set_focus(struct sway_seat *seat, swayc_t *container) { void sway_seat_set_config(struct sway_seat *seat, struct seat_config *seat_config) { // clear configs + free_seat_config(seat->config); seat->config = NULL; struct sway_seat_device *seat_device = NULL; @@ -253,11 +254,9 @@ void sway_seat_set_config(struct sway_seat *seat, } // add configs - seat->config = seat_config; + seat->config = copy_seat_config(seat_config); wl_list_for_each(seat_device, &seat->devices, link) { - seat_device->attachment_config = - seat_config_get_attachment(seat_config, - seat_device->input_device->identifier); + sway_seat_configure_device(seat, seat_device->input_device); } } |