kms/surface: Define a PendingImageCopyData, instead of using tuple

Adding anything else to this tuple is awkward; defining a simple struct
makes this cleaner.

This also adds a `sync` property, which will come in handy later.
Containing simply the same-named argument that was passed to
`submit_buffer`.
This commit is contained in:
Ian Douglas Scott 2025-08-19 12:45:07 -07:00 committed by Victoria Brekenfeld
parent f0e0084608
commit 28e9024681
4 changed files with 34 additions and 24 deletions

View file

@ -28,7 +28,7 @@ use crate::{
handlers::{
compositor::FRAME_TIME_FILTER,
data_device::get_dnd_icon,
screencopy::{render_session, FrameHolder, SessionData},
screencopy::{render_session, FrameHolder, PendingImageCopyData, SessionData},
},
protocols::workspace::WorkspaceHandle,
},
@ -1332,7 +1332,11 @@ where
match result {
Ok((res, mut elements)) => {
for (session, frame) in output.take_pending_frames() {
if let Some((frame, damage)) = render_session::<_, _, GlesTexture>(
if let Some(PendingImageCopyData { frame, damage, .. }) = render_session::<
_,
_,
GlesTexture,
>(
renderer,
&session.user_data().get::<SessionData>().unwrap(),
frame,