Commit 63898fc5 authored by Roman Gilg's avatar Roman Gilg
Browse files

Revert "Reset buffer swap state on stop"

This reverts commit ba2c0324.

See: https://mail.kde.org/pipermail/kwin/2020-January/002999.html
parent 2dabd0b1
......@@ -404,7 +404,7 @@ void Compositor::scheduleRepaint()
// in AnimationEffect::postPaintScreen. Why?
// Theory is that effects call addRepaintFull in there and then performCompositing
// is called again while still in the first paint. So queing it here makes sense!
compositeTimer.start(0, this);
QTimer::singleShot(0, this, [this]() { performCompositing(); });
} else {
setCompositeTimer();
}
......@@ -471,8 +471,6 @@ void Compositor::stop()
delete m_scene;
m_scene = nullptr;
m_bufferSwapPending = false;
m_composeAtSwapCompletion = false;
compositeTimer.stop();
repaints_region = QRegion();
......@@ -741,8 +739,11 @@ void Compositor::performCompositing()
// is called the next time. If there would be nothing pending, it will not restart the timer and
// scheduleRepaint() would restart it again somewhen later, called from functions that
// would again add something pending.
Q_ASSERT(!m_bufferSwapPending);
scheduleRepaint();
if (m_bufferSwapPending) {
m_composeAtSwapCompletion = true;
} else {
scheduleRepaint();
}
}
template <class T>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment