From 8789ceea87e700de991c9d273fa419b6d38b0768 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 20 Jul 2018 09:41:36 +1000 Subject: [PATCH] Fix pointer events for overlapping floating views Fixes #2315. --- sway/tree/container.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sway/tree/container.c b/sway/tree/container.c index 02384199..4dbfbb29 100644 --- a/sway/tree/container.c +++ b/sway/tree/container.c @@ -660,7 +660,9 @@ struct sway_container *floating_container_at(double lx, double ly, if (!workspace_is_visible(workspace)) { continue; } - for (int k = 0; k < ws->floating->children->length; ++k) { + // Items at the end of the list are on top, so iterate the list in + // reverse. + for (int k = ws->floating->children->length - 1; k >= 0; --k) { struct sway_container *floater = ws->floating->children->items[k]; struct wlr_box box = {