effects/kscreen: don't stop effect when fade out animation is done
The screen needs to stay black until it gets enabled again, otherwise slight timing differences can cause the screen to turn on full brightness again immediately before turning off. BUG: 460902
This commit is contained in:
parent
a4cb0e7fd8
commit
f6d14f1b44
2 changed files with 5 additions and 3 deletions
|
@ -241,10 +241,10 @@ void DrmOutput::setDpmsMode(DpmsMode mode)
|
|||
}
|
||||
} else {
|
||||
m_gpu->platform()->checkOutputsAreOn();
|
||||
m_turnOffTimer.stop();
|
||||
if (mode != dpmsMode() && setDrmDpmsMode(mode)) {
|
||||
if (m_turnOffTimer.isActive() || (mode != dpmsMode() && setDrmDpmsMode(mode))) {
|
||||
Q_EMIT wakeUp();
|
||||
}
|
||||
m_turnOffTimer.stop();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -102,7 +102,9 @@ void KscreenEffect::prePaintScreen(ScreenPrePaintData &data, std::chrono::millis
|
|||
state.m_timeLine.advance(presentTime);
|
||||
if (state.m_timeLine.done()) {
|
||||
switchState(state);
|
||||
m_waylandStates.remove(data.screen);
|
||||
if (state.m_state == StateNormal) {
|
||||
m_waylandStates.remove(data.screen);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue