Skip to content

backends/native: Avoid redundant changes to sticky keys state mask

Sticky keys configuration changes reset the pressed modifier state mask, even though the XKB state might already match with the expected new state. In those cases we can avoid the XKB state mask update completely.

This also fixes a crash at initialization with sticky keys toggled on, since configuring the device a11y settings will trigger a XKB state mask merely reassuring the initial state with no modifiers pressed, while the connection between the ClutterSeat and the impl object has not been set up yet. This crash was introduced by commit 00bb4190 ("backends/native: Drop device_native->seat_impl field").

Merge request reports