libkwineffects: Make dirty view tracking more robust in SceneEffect

It's possible that a view can request a repaint again in update(). If
that happens, we don't want to overwrite the dirty state after update().
master
Vlad Zahorodnii 11 months ago
parent b4717ca590
commit 066492ef1d

@ -367,14 +367,14 @@ void QuickSceneEffect::prePaintScreen(ScreenPrePaintData &data, std::chrono::mil
if (effects->waylandDisplay()) {
const auto it = d->views.find(data.screen);
if (it != d->views.end() && it->second->isDirty()) {
it->second->update();
it->second->resetDirty();
it->second->update();
}
} else {
for (const auto &[screen, screenView] : d->views) {
if (screenView->isDirty()) {
screenView->update();
screenView->resetDirty();
screenView->update();
}
}
}

Loading…
Cancel
Save