backends/drm: Undo fade-out effect upon unsuccessful DPMS Off

DrmOutput::setDrmDpmsMode() already takes care of reverting any
pending output pipeline changes, but the aboutToTurnOff signal from
setDpmsMode() needs an explicit wakeUp signal to cancel it out.

BUG: 477916
CCBUG: 481520
wilder/Plasma/6.2
Jakob Petsovits 2 years ago
parent 79dd34b3f9
commit 9e3e567592
  1. 5
      src/backends/drm/drm_output.cpp

@ -106,7 +106,10 @@ DrmOutput::DrmOutput(const std::shared_ptr<DrmConnector> &conn)
m_turnOffTimer.setSingleShot(true);
m_turnOffTimer.setInterval(dimAnimationTime());
connect(&m_turnOffTimer, &QTimer::timeout, this, [this] {
setDrmDpmsMode(DpmsMode::Off);
if (!setDrmDpmsMode(DpmsMode::Off)) {
// in case of failure, undo aboutToTurnOff() from setDpmsMode()
Q_EMIT wakeUp();
}
});
}

Loading…
Cancel
Save