Wayland: avoid binding disabled outputs to surfaces
We don't need to bind disabled outputs to surfaces that overlaps them. This prevents error down the line and warnings about ignoring surface.enter events with Qt. BUG: 419749
This commit is contained in:
parent
b267ea41b2
commit
797ccca48c
2 changed files with 8 additions and 4 deletions
|
@ -628,6 +628,8 @@ void DrmOutput::dpmsFinishOff()
|
|||
if (isEnabled()) {
|
||||
waylandOutput()->setDpmsMode(toWaylandDpmsMode(m_dpmsModePending));
|
||||
m_backend->createDpmsFilter();
|
||||
} else {
|
||||
waylandOutput()->setDpmsMode(toWaylandDpmsMode(DpmsMode::Off));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1941,10 +1941,12 @@ void XdgShellClient::updateClientOutputs()
|
|||
{
|
||||
QVector<OutputInterface *> clientOutputs;
|
||||
const auto outputs = waylandServer()->display()->outputs();
|
||||
for (OutputInterface *output : outputs) {
|
||||
const QRect outputGeometry(output->globalPosition(), output->pixelSize() / output->scale());
|
||||
if (frameGeometry().intersects(outputGeometry)) {
|
||||
clientOutputs << output;
|
||||
for (const auto output : outputs) {
|
||||
if (output->isEnabled()) {
|
||||
const QRect outputGeometry(output->globalPosition(), output->pixelSize() / output->scale());
|
||||
if (frameGeometry().intersects(outputGeometry)) {
|
||||
clientOutputs << output;
|
||||
}
|
||||
}
|
||||
}
|
||||
surface()->setOutputs(clientOutputs);
|
||||
|
|
Loading…
Reference in a new issue