Keep popover effects alive until surface destruction

This commit is contained in:
Samuel Onoja committed 2026-10-14 00:07:25 +01:00
1 parent 4d1d1af413
commit bbc2f226d8
3 files changed
+15 -2

No files matched your search

@@ -152,9 +152,13 @@ impl FereseShell {
self.night_light_temperature = None;
let tooltip = self.dismiss_workspace_tooltip();
crate::EFFECT_FRAME_PENDING.store(false, std::sync::atomic::Ordering::Relaxed);
let Some(menu) = self.menu.take() else {
let Some(mut menu) = self.menu.take() else {
return tooltip;
};
// Keep opacity applied until Iced has destroyed the popup's Wayland surface.
if let Some(effects) = menu.effects.take() {
self.closing_menu_effects.insert(menu.id, effects);
}
self.refresh_media_art(false);
if menu.kind == Menu::Notifications {
self.notifications.history_open = false;