screencopy: Add cursor render element first

Otherwise, the cursor is rendered behind the toplevel, and isn't
visible.
This commit is contained in:
Ian Douglas Scott 2025-09-12 12:29:02 -07:00 committed by Victoria Brekenfeld
parent d8281ed51b
commit 0c941b802d

View file

@ -541,13 +541,7 @@ pub fn render_window_to_buffer(
CosmicElement<R>: RenderElement<R>,
CosmicMappedRenderElement<R>: RenderElement<R>,
{
let mut elements = AsRenderElements::<R>::render_elements::<WindowCaptureElement<R>>(
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::<R>::render_elements::<
WindowCaptureElement<R>,
>(
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