Fix regression igonring hiddenPreviews on stacking updates

BUG: 289945
REVIEW: 103687
This commit is contained in:
Thomas Lübking 2012-01-13 03:08:40 +01:00
parent e76ecd7c4c
commit c33c52d09a

View file

@ -174,6 +174,15 @@ void Workspace::propagateClients(bool propagate_new_clients)
newWindowStack << (Window*)client->frameId(); newWindowStack << (Window*)client->frameId();
} }
// when having hidden previews, stack hidden windows below everything else
// (as far as pure X stacking order is concerned), in order to avoid having
// these windows that should be unmapped to interfere with other windows
for (int i = stacking_order.size() - 1; i >= 0; i--) {
if (!stacking_order.at(i)->hiddenPreview())
continue;
newWindowStack << (Window*)stacking_order.at(i)->frameId();
}
// TODO isn't it too inefficient to restack always all clients? // TODO isn't it too inefficient to restack always all clients?
// TODO don't restack not visible windows? // TODO don't restack not visible windows?
assert(newWindowStack.at(0) == (Window*)supportWindow->winId()); assert(newWindowStack.at(0) == (Window*)supportWindow->winId());