Separate presentation facts from surface eligibility policy

This commit is contained in:
Samuel Onoja committed 2026-10-02 08:16:00 +01:00
1 parent aecf54bc76
commit 96b0a9d097
10 files changed
+88 -67

No files matched your search

+1 -18
View File
@@ -71,22 +71,7 @@ impl CompositorHandler for Ferese {
self.record_client_commit(&window);
}
}
if !is_sync_subsurface(surface) {
let mut surfaces = Vec::new();
smithay::desktop::utils::with_surfaces_surface_tree(surface, |surface, _| surfaces.push(surface.clone()));
for surface in surfaces {
let mapped = smithay::backend::renderer::utils::with_renderer_surface_state(&surface, |state| {
state.buffer().is_some()
})
.unwrap_or(false);
if !mapped {
smithay::desktop::utils::with_surfaces_surface_tree(&surface, |child, _| {
self.display_presentation.remove_surface(&child.into());
});
}
}
self.refresh_idle_inhibition();
}
self.refresh_idle_inhibition();
layer_shell::handle_commit(self, surface);
xdg_shell::handle_commit(&mut self.popups, &mut self.space, surface);
@@ -94,8 +79,6 @@ impl CompositorHandler for Ferese {
}
fn destroyed(&mut self, surface: &WlSurface) {
self.display_presentation.remove_surface(&surface.into());
if self.session_lock.active {
self.session_lock
.surfaces