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:
1 parent
e6e1a2a8cf
commit
bffd538dd4
9 files changed
+159
-50
No files matched your search
@@ -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,
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user