diff --git a/src/managers/KeybindManager.cpp b/src/managers/KeybindManager.cpp index cfad932a..4e98a301 100644 --- a/src/managers/KeybindManager.cpp +++ b/src/managers/KeybindManager.cpp @@ -181,7 +181,6 @@ uint32_t CKeybindManager::keycodeToModifier(xkb_keycode_t keycode) { void CKeybindManager::updateXKBTranslationState() { if (m_pXKBTranslationState) { - xkb_keymap_unref(xkb_state_get_keymap(m_pXKBTranslationState)); xkb_state_unref(m_pXKBTranslationState); m_pXKBTranslationState = nullptr; diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 58b5caa3..fb9d2b8a 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -1195,6 +1195,7 @@ void CInputManager::destroyKeyboard(SKeyboard* pKeyboard) { pKeyboard->hyprListener_keyboardKey.removeCallback(); xkb_state_unref(pKeyboard->xkbTranslationState); + pKeyboard->xkbTranslationState = nullptr; m_lKeyboards.remove(*pKeyboard);