From b6b9952897c81996f0003c1fb64c8abf84cd4521 Mon Sep 17 00:00:00 2001 From: Karen Webb Date: Fri, 8 Nov 2024 15:48:48 +0000 Subject: [PATCH] Fix race condition in keyboard init --- wayland/Keyboard.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wayland/Keyboard.cpp b/wayland/Keyboard.cpp index c21e340..98e2eef 100644 --- a/wayland/Keyboard.cpp +++ b/wayland/Keyboard.cpp @@ -81,7 +81,9 @@ Keyboard::Keyboard(Seat& seat) .modifiers = [](void *data, wl_keyboard *, uint32_t, uint32_t mods_depressed, uint32_t mods_latched, uint32_t mods_locked, uint32_t group) noexcept { auto& self = *reinterpret_cast(data); - xkb_state_update_mask(self._state.get(), mods_depressed, mods_latched, mods_locked, 0, 0, group); + if (self._state) { + xkb_state_update_mask(self._state.get(), mods_depressed, mods_latched, mods_locked, 0, 0, group); + } }, .repeat_info = [](void *, wl_keyboard *, int32_t, int32_t) noexcept {