From 8789ceea87e700de991c9d273fa419b6d38b0768 Mon Sep 17 00:00:00 2001
From: Ryan Dwyer <ryandwyer1@gmail.com>
Date: Fri, 20 Jul 2018 09:41:36 +1000
Subject: 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 = {
-- 
cgit v1.2.3