From 0c941b802db6d0dda5ccbf652435fa4ad1195c91 Mon Sep 17 00:00:00 2001 From: Ian Douglas Scott Date: Fri, 12 Sep 2025 12:29:02 -0700 Subject: [PATCH] screencopy: Add cursor render element first Otherwise, the cursor is rendered behind the toplevel, and isn't visible. --- src/wayland/handlers/screencopy/render.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/wayland/handlers/screencopy/render.rs b/src/wayland/handlers/screencopy/render.rs index 720fb459..a22b03ae 100644 --- a/src/wayland/handlers/screencopy/render.rs +++ b/src/wayland/handlers/screencopy/render.rs @@ -541,13 +541,7 @@ pub fn render_window_to_buffer( CosmicElement: RenderElement, CosmicMappedRenderElement: RenderElement, { - let mut elements = AsRenderElements::::render_elements::>( - window, - renderer, - (-geometry.loc.x, -geometry.loc.y).into(), - Scale::from(1.0), - 1.0, - ); + let mut elements = Vec::new(); elements.extend( additional_damage @@ -617,6 +611,16 @@ pub fn render_window_to_buffer( } } + elements.extend(AsRenderElements::::render_elements::< + WindowCaptureElement, + >( + window, + renderer, + (-geometry.loc.x, -geometry.loc.y).into(), + Scale::from(1.0), + 1.0, + )); + if let Ok(dmabuf) = get_dmabuf(buffer) { let mut dmabuf_clone = dmabuf.clone(); let mut fb = renderer