From b328365043ac59f6641e52797741bc9bc2a3d30b Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Sun, 14 Dec 2025 18:05:38 +0100 Subject: [PATCH 1/2] wl_subsurface: fix SurfaceExt::tray_item --- src/ifs/wl_surface/wl_subsurface.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifs/wl_surface/wl_subsurface.rs b/src/ifs/wl_surface/wl_subsurface.rs index 71f0cd08..0a2fef38 100644 --- a/src/ifs/wl_surface/wl_subsurface.rs +++ b/src/ifs/wl_surface/wl_subsurface.rs @@ -433,7 +433,7 @@ impl SurfaceExt for WlSubsurface { } fn tray_item(self: Rc) -> Option { - self.surface.node_tray_item() + self.parent.node_tray_item() } } From cb419b36e3d56c2540dd45af1bcd11e1f1884478 Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Sun, 14 Dec 2025 18:32:45 +0100 Subject: [PATCH 2/2] wl_surface: find_tree: fix subsurface offset --- src/ifs/wl_surface.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ifs/wl_surface.rs b/src/ifs/wl_surface.rs index bde99176..99c6c27b 100644 --- a/src/ifs/wl_surface.rs +++ b/src/ifs/wl_surface.rs @@ -1594,7 +1594,7 @@ impl WlSurface { let ext = child.sub_surface.surface.extents.get(); let ext = ext.move_(pos.0, pos.1); if ext.contains(x, y) { - let (x, y) = ext.translate(x, y); + let (x, y) = (x - pos.0, y - pos.1); if let Some(res) = child.sub_surface.surface.find_surface_at(x, y) { return Some(res); }