internal: Fix grouped windows not being properly focused on activation (#2925)

* Fix grouped windows not being properly focused on activation

This bug could happen if you:
1. Open two Chromium windows in a single group
2. Open some tabs in both of the windows
3. Using tabs search (Ctrl+Shift+A) try to switch to a tab in the second window from the first one.
When this happens any window focus would be lost (hyprctl activewindow starts to output "Invalid") and also the mouse cursor would become centered relatively to the second window.

* Update Compositor.cpp
This commit is contained in:
UserSv4
2023-08-11 19:27:09 +04:00
committed by GitHub
parent 60b548296d
commit 8a7ce59ad4
2 changed files with 5 additions and 5 deletions

View File

@@ -832,6 +832,11 @@ void CCompositor::focusWindow(CWindow* pWindow, wlr_surface* pSurface) {
return;
}
if (pWindow && pWindow->isHidden() && pWindow->m_sGroupData.pNextWindow) {
// grouped, change the current to us
pWindow->setGroupCurrent(pWindow);
}
if (!pWindow || !windowValidMapped(pWindow)) {
const auto PLASTWINDOW = m_pLastWindow;
m_pLastWindow = nullptr;