aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2018-12-29 21:50:03 -0500
committerLibravatar emersion <contact@emersion.fr>2018-12-30 14:12:36 +0100
commit09bb71f6507d86d98b5b9825f28b91ddd4b9a09b (patch)
treede570ea01b3262c46441afb1f75570a4d44210e8 /include
parentRevamp seat configs (diff)
downloadsway-09bb71f6507d86d98b5b9825f28b91ddd4b9a09b.tar.gz
sway-09bb71f6507d86d98b5b9825f28b91ddd4b9a09b.tar.zst
sway-09bb71f6507d86d98b5b9825f28b91ddd4b9a09b.zip
Verify seat fallback settings on reload
This fixes an issue where on reload, all input devices that were added via an implicit fallback to the default seat would be removed from the default seat and applications would crash due to the seat having no capabilities. On reload, there is a query for a seat config with the fallback setting set (it can either be true or false). If no such seat config exists, the default seat is created (if needed) and has the implicit fallback true applied to its seat config. This is the same procedure that occurs when a new input is detected.
Diffstat (limited to 'include')
-rw-r--r--include/sway/input/input-manager.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/sway/input/input-manager.h b/include/sway/input/input-manager.h
index 219aa9ba..08e749dc 100644
--- a/include/sway/input/input-manager.h
+++ b/include/sway/input/input-manager.h
@@ -44,6 +44,12 @@ struct sway_seat *input_manager_get_default_seat(void);
44struct sway_seat *input_manager_get_seat(const char *seat_name); 44struct sway_seat *input_manager_get_seat(const char *seat_name);
45 45
46/** 46/**
47 * If none of the seat configs have a fallback setting (either true or false),
48 * create the default seat (if needed) and set it as the fallback
49 */
50void input_manager_verify_fallback_seat(void);
51
52/**
47 * Gets the last seat the user interacted with 53 * Gets the last seat the user interacted with
48 */ 54 */
49struct sway_seat *input_manager_current_seat(void); 55struct sway_seat *input_manager_current_seat(void);