From 3f802d0193d090fb39cdc3a19e68a00cf5e9672a Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 15 May 2024 20:30:02 +0400 Subject: Clarify surface destroyed comment --- src/handlers/compositor.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs index 5f39d47c..7d3f0419 100644 --- a/src/handlers/compositor.rs +++ b/src/handlers/compositor.rs @@ -316,7 +316,12 @@ impl CompositorHandler for State { // Clients may destroy their subsurfaces before the main surface. Ensure we have a snapshot // when that happens, so that the closing animation includes all these subsurfaces. // - // Test client: alacritty with CSD. + // Test client: alacritty with CSD <= 0.13 (it was fixed in winit afterwards: + // https://github.com/rust-windowing/winit/pull/3625). + // + // This is still not perfect, as this function is called already after the (first) + // subsurface is destroyed; in the case of alacritty, this is the top CSD shadow. But, it + // gets most of the job done. if let Some(root) = self.niri.root_surface.get(surface) { if let Some((mapped, _)) = self.niri.layout.find_window_and_output(root) { let window = mapped.window.clone(); -- cgit