Ignore fully translucent Toplevels for direct scanout

This commit is contained in:
Xaver Hugl 2021-03-05 18:25:33 +01:00
parent ecd9e1c98d
commit 7a937fc7af

View file

@ -639,7 +639,7 @@ void SceneOpenGL::paint(int screenId, const QRegion &damage, const QList<Topleve
for (int i = stacking_order.count() - 1; i >= 0; i--) {
Window *window = stacking_order[i];
Toplevel *toplevel = window->window();
if (toplevel->isOnScreen(screenId)) {
if (toplevel->isOnScreen(screenId) && window->isVisible() && toplevel->opacity() > 0) {
AbstractClient *c = dynamic_cast<AbstractClient*>(toplevel);
if (!c || !c->isFullScreen() || !window->isOpaque()) {
break;