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
@@ -213,13 +213,14 @@ impl Ferese {
|
||||
}
|
||||
|
||||
pub(crate) fn lock_frame_callbacks(&self, output: &Output) {
|
||||
let eligible = self.callback_outputs();
|
||||
if let Some(surface) = self.session_lock.surfaces.get(output).filter(|surface| surface.alive()) {
|
||||
smithay::desktop::utils::send_frames_surface_tree(
|
||||
surface.wl_surface(),
|
||||
output,
|
||||
self.start_time.elapsed(),
|
||||
None,
|
||||
|surface, _| self.display_presentation.callback_output(&surface.into()),
|
||||
|surface, _| eligible.get(&surface.into()).cloned(),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -236,7 +237,6 @@ impl SessionLockHandler for Ferese {
|
||||
}
|
||||
self.cancel_logout_confirmation();
|
||||
self.session_lock.active = true;
|
||||
self.display_presentation.clear();
|
||||
self.refresh_idle_inhibition();
|
||||
self.session_lock.idle_since = Some(Instant::now());
|
||||
match self
|
||||
@@ -304,7 +304,6 @@ impl SessionLockHandler for Ferese {
|
||||
}
|
||||
let sleeping = self.session_lock.sleeping;
|
||||
self.session_lock = Lock::default();
|
||||
self.display_presentation.clear();
|
||||
self.refresh_idle_inhibition();
|
||||
if sleeping {
|
||||
crate::backends::direct::wake_locked_outputs(self);
|
||||
|
||||
Reference in new issue
Block a user