Schedule redraws for pending wallpaper upload retries

This commit is contained in:
Samuel Onoja committed 2026-09-27 07:08:49 +01:00
1 parent 4da59f3906
commit 08a586612f
2 files changed
+95 -1

No files matched your search

+9 -1
View File
@@ -135,9 +135,17 @@ fn main() -> Result<(), Box<dyn Error>> {
}
// All input/Wayland callbacks have returned, releasing seat locks.
// Coalesce cursor changes and redraw here, never inside cursor_image.
if std::mem::take(&mut state.cursor_redraw_pending) || wallpaper_changed {
let wallpaper_retry = state.wallpaper.take_retry_wakeup();
if std::mem::take(&mut state.cursor_redraw_pending) || wallpaper_changed || wallpaper_retry
{
backends::direct::render_all(state);
}
if let Err(error) = state
.wallpaper
.arm_retry_timer(&reload_handle, std::time::Instant::now())
{
warn!(%error, "could not schedule wallpaper upload retry");
}
// Registry/sync/configure replies must not depend on a submitted
// frame: at startup clients need these before they can draw anything.
// This also keeps idle DRM sessions responsive when there is no damage.