diff --git a/src/scene/workspacescene.cpp b/src/scene/workspacescene.cpp index c0006e1364..5b3456e3ad 100644 --- a/src/scene/workspacescene.cpp +++ b/src/scene/workspacescene.cpp @@ -169,6 +169,9 @@ static bool addCandidates(SurfaceItem *item, QList &candidates, s if (candidates.size() >= maxCount || item->hasEffects()) { return false; } + if (occluded.contains(item->mapToScene(item->boundingRect()).toAlignedRect())) { + return true; + } candidates.push_back(item); occluded += item->mapToScene(item->opaque()); for (; it != children.rend(); it++) {