Synchronize shell material presentation with surface commits

Queue popup, modal and notification material geometry and opacity until the matching content buffer commits. Remove event-handler opacity writes that could present material state ahead of content, while preserving compositor dismissal ownership.

Add pending-presentation regression coverage and update the nested shell lifecycle check.
This commit is contained in:
Samuel Onoja committed 2026-10-03 04:45:12 +01:00
1 parent e6e1a2a8cf
commit bffd538dd4
9 files changed
+159 -50

No files matched your search

+4 -2
View File
@@ -524,12 +524,14 @@ impl FereseShell {
if let Some(surface) = &self.notification_surface
&& let Some(effects) = &surface.effects
{
let _ = effects.set_regions(&surface.regions.lock().unwrap());
let _ = effects.set_region_opacities(
let _ = effects.set_presentation(
&surface.regions.lock().unwrap(),
1.0,
self.notifications
.popup_groups_at(now)
.iter()
.map(|(_, opacity, _)| *opacity),
ferese_surface_effects_v1::Role::Popover,
);
}
},