From 83cb10bcbc02967e4428d3e53b9c26ad1276d7b0 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Tue, 1 Mar 2022 18:53:21 +0100 Subject: [PATCH] stack&tile: don't allow stacking a window onto itself Change-Id: Iefd4a49b5b4caf2c3cd478a77fe4673dcac40427 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5056 Tested-by: Commit checker robot Reviewed-by: Adrien Destugues --- src/servers/app/stackandtile/Stacking.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/servers/app/stackandtile/Stacking.cpp b/src/servers/app/stackandtile/Stacking.cpp index 94bcba8fb2..1ba120df62 100644 --- a/src/servers/app/stackandtile/Stacking.cpp +++ b/src/servers/app/stackandtile/Stacking.cpp @@ -69,6 +69,14 @@ StackingEventHandler::HandleMessage(SATWindow* sender, SATWindow* candidate = stackAndTile->GetSATWindow(window); if (!candidate) return false; + + // Is that window already part of the stack? + if (area->WindowList().HasItem(candidate)) { + reply.StartMessage(B_MISMATCHED_VALUES); + reply.Flush(); + break; + } + if (!parent->StackWindow(candidate)) return false;