diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-01-21 11:17:07 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-21 11:17:07 -0500 |
commit | c933781facbb664fedcd52ab19f35c392cd9e7b4 (patch) | |
tree | 95b0e63411e44958364321bbfe3bc00515625cc6 /sway/config | |
parent | 3dd915876d459a2aeeb7a5864330f5bc30bc2f00 (diff) | |
parent | 9f54cd89359119897fed2747c373879c09ae8706 (diff) |
Merge pull request #1570 from acrisci/config-references
Copy input config references
Diffstat (limited to 'sway/config')
-rw-r--r-- | sway/config/input.c | 10 | ||||
-rw-r--r-- | sway/config/seat.c | 11 |
2 files changed, 21 insertions, 0 deletions
diff --git a/sway/config/input.c b/sway/config/input.c index 96181302..c4f6211d 100644 --- a/sway/config/input.c +++ b/sway/config/input.c @@ -90,6 +90,16 @@ void merge_input_config(struct input_config *dst, struct input_config *src) { } } +struct input_config *copy_input_config(struct input_config *ic) { + struct input_config *copy = calloc(1, sizeof(struct input_config)); + if (copy == NULL) { + wlr_log(L_ERROR, "could not allocate input config"); + return NULL; + } + merge_input_config(copy, ic); + return copy; +} + void free_input_config(struct input_config *ic) { if (!ic) { return; diff --git a/sway/config/seat.c b/sway/config/seat.c index 03cc6d4e..bd8b45c8 100644 --- a/sway/config/seat.c +++ b/sway/config/seat.c @@ -99,6 +99,17 @@ void merge_seat_config(struct seat_config *dest, struct seat_config *source) { } } +struct seat_config *copy_seat_config(struct seat_config *seat) { + struct seat_config *copy = new_seat_config(seat->name); + if (copy == NULL) { + return NULL; + } + + merge_seat_config(copy, seat); + + return copy; +} + void free_seat_config(struct seat_config *seat) { if (!seat) { return; |