diff --git a/src/scene/workspacescene.cpp b/src/scene/workspacescene.cpp index 475b35a4ac..4d4ea1929e 100644 --- a/src/scene/workspacescene.cpp +++ b/src/scene/workspacescene.cpp @@ -208,11 +208,14 @@ QList WorkspaceScene::scanoutCandidates(ssize_t maxCount) const if (!window->isClient() || window->opacity() != 1.0 || !window->isFullScreen() || window->windowItem()->hasEffects()) { return {}; } - if (!windowItem->surfaceItem()) { + + SurfaceItem *surfaceItem = window->surfaceItem(); + if (!surfaceItem || !surfaceItem->isVisible()) { continue; } + QRegion occlusion; - if (!addCandidates(windowItem->surfaceItem(), ret, maxCount, occlusion)) { + if (!addCandidates(surfaceItem, ret, maxCount, occlusion)) { return {}; } return ret;