compositor: return nullptr when cursor is outside of a maximized windows' box

This commit is contained in:
Vaxry 2025-12-13 13:54:59 +00:00
parent 69db0bcae6
commit fd5e790d08
Signed by: vaxry
GPG key ID: 665806380871D640

View file

@ -996,8 +996,18 @@ PHLWINDOW CCompositor::vectorToWindowUnified(const Vector2D& pos, uint8_t proper
const WORKSPACEID WSPID = special ? PMONITOR->activeSpecialWorkspaceID() : PMONITOR->activeWorkspaceID();
const auto PWORKSPACE = getWorkspaceByID(WSPID);
if (PWORKSPACE->m_hasFullscreenWindow && !(properties & Desktop::View::SKIP_FULLSCREEN_PRIORITY) && !ONLY_PRIORITY)
return PWORKSPACE->getFullscreenWindow();
if (PWORKSPACE->m_hasFullscreenWindow && !(properties & Desktop::View::SKIP_FULLSCREEN_PRIORITY) && !ONLY_PRIORITY) {
const auto FS_WINDOW = PWORKSPACE->getFullscreenWindow();
if (!FS_WINDOW)
return nullptr;
// for maximized windows, don't return a window if we are not directly on it.
if (FS_WINDOW->m_fullscreenState.internal != FSMODE_MAXIMIZED || FS_WINDOW->getWindowBoxUnified(properties).containsPoint(pos))
return PWORKSPACE->getFullscreenWindow();
else
return nullptr;
}
auto found = floating(false);
if (found)