Separate presentation facts from surface eligibility policy
This commit is contained in:
1 parent
aecf54bc76
commit
96b0a9d097
10 files changed
+88
-67
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user