diff --git a/src/plugins/scenes/opengl/scene_opengl.cpp b/src/plugins/scenes/opengl/scene_opengl.cpp index e458258d4f..bc4f5c1bac 100644 --- a/src/plugins/scenes/opengl/scene_opengl.cpp +++ b/src/plugins/scenes/opengl/scene_opengl.cpp @@ -639,7 +639,7 @@ void SceneOpenGL::paint(int screenId, const QRegion &damage, const QList= 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(toplevel); if (!c || !c->isFullScreen() || !window->isOpaque()) { break;