input: Fix incorrect keyboard focus taken when no window was present (#5337)

A non-keyboard layer never needs keyboard focus
This commit is contained in:
Zach DeCook 2024-03-30 20:50:25 -04:00 committed by GitHub
parent 5e8c25d498
commit 1cc9a44318
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -422,10 +422,8 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus) {
unsetCursorImage(); unsetCursorImage();
} }
if (pFoundLayerSurface && if (pFoundLayerSurface && (pFoundLayerSurface->layerSurface->current.keyboard_interactive != ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_NONE) && FOLLOWMOUSE != 3 &&
(pFoundLayerSurface->layerSurface->current.keyboard_interactive != ZWLR_LAYER_SURFACE_V1_KEYBOARD_INTERACTIVITY_NONE || allowKeyboardRefocus) {
(pFoundLayerSurface->layer >= ZWLR_LAYER_SHELL_V1_LAYER_TOP && !g_pCompositor->m_pLastWindow)) &&
FOLLOWMOUSE != 3 && allowKeyboardRefocus) {
g_pCompositor->focusSurface(foundSurface); g_pCompositor->focusSurface(foundSurface);
} }