Skip to content

Commit c8e2d13

Browse files
committed
wayland: Fix the key level request layout parameter
Use the layout loop index instead of the current layout, which could be invalid if no layout event was received before the keymap event. Fixes #13418
1 parent c80d695 commit c8e2d13

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/video/wayland/SDL_waylandevents.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1435,7 +1435,7 @@ static void Wayland_KeymapIterator(struct xkb_keymap *keymap, xkb_keycode_t key,
14351435
}
14361436

14371437
for (xkb_layout_index_t layout = 0; layout < seat->keyboard.xkb.num_layouts; ++layout) {
1438-
const xkb_level_index_t num_levels = WAYLAND_xkb_keymap_num_levels_for_key(seat->keyboard.xkb.keymap, key, seat->keyboard.xkb.current_layout);
1438+
const xkb_level_index_t num_levels = WAYLAND_xkb_keymap_num_levels_for_key(seat->keyboard.xkb.keymap, key, layout);
14391439
for (xkb_level_index_t level = 0; level < num_levels; ++level) {
14401440
if (WAYLAND_xkb_keymap_key_get_syms_by_level(seat->keyboard.xkb.keymap, key, layout, level, &syms) > 0) {
14411441
/* If the keyboard is virtual or the key didn't have a corresponding hardware scancode, try to

0 commit comments

Comments
 (0)