diff --git a/src/pointer_input.cpp b/src/pointer_input.cpp index 97f9f5f5ce..6019246a7f 100644 --- a/src/pointer_input.cpp +++ b/src/pointer_input.cpp @@ -564,9 +564,7 @@ void PointerInputRedirection::focusUpdate(Toplevel *focusOld, Toplevel *focusNow } auto seat = waylandServer()->seat(); - if (!focusNow || !focusNow->surface() || decoration()) { - // Clean up focused pointer surface if there's no client to take focus, - // or the pointer is on a client without surface or on a decoration. + if (!focusNow || !focusNow->surface()) { seat->setFocusedPointerSurface(nullptr); return; } diff --git a/src/touch_input.cpp b/src/touch_input.cpp index 62c3588360..99a01e662d 100644 --- a/src/touch_input.cpp +++ b/src/touch_input.cpp @@ -95,8 +95,7 @@ void TouchInputRedirection::focusUpdate(Toplevel *focusOld, Toplevel *focusNow) } auto seat = waylandServer()->seat(); - if (!focusNow || !focusNow->surface() || decoration()) { - // no new surface or internal window or on decoration -> cleanup + if (!focusNow || !focusNow->surface()) { seat->setFocusedTouchSurface(nullptr); return; }