mirror of
https://github.com/hyprwm/Hyprland.git
synced 2026-08-18 02:51:23 +00:00
committiming: release for intersected monitors (#15744)
some clients never binds an output, so check for intersection like fifo does aswell.
This commit is contained in:
@ -155,10 +155,17 @@ void CCommitTimingProtocol::onMonitorPresent(PHLMONITOR m, const Time::steady_tp
|
||||
continue;
|
||||
|
||||
const auto& OUTPUTS = timer->m_surface->m_enteredOutputs;
|
||||
if (OUTPUTS.size() != 1 || OUTPUTS[0] != m)
|
||||
if (std::ranges::find(OUTPUTS, m) != OUTPUTS.end()) {
|
||||
timer->releaseDueStates(UPCOMING_FLIP);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!OUTPUTS.empty() || !timer->m_surface->m_hlSurface)
|
||||
continue;
|
||||
|
||||
timer->releaseDueStates(UPCOMING_FLIP);
|
||||
const auto BOX = timer->m_surface->m_hlSurface->getSurfaceBoxGlobal();
|
||||
if (BOX && !BOX->intersection({m->position(), m->m_size}).empty())
|
||||
timer->releaseDueStates(UPCOMING_FLIP);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user