xdg_shell: Trigger blocker evaluation on toplevel destruction

This commit is contained in:
Victoria Brekenfeld 2023-08-01 16:49:29 +02:00
parent d50ad4e85c
commit 1a9f976818

View file

@ -24,7 +24,7 @@ use smithay::{
use std::cell::Cell;
use tracing::warn;
use super::screencopy::PendingScreencopyBuffers;
use super::{compositor::client_compositor_state, screencopy::PendingScreencopyBuffers};
pub mod popup;
@ -238,6 +238,15 @@ impl XdgShellHandler for State {
self.common.shell.active_space_mut(output).refresh();
}
// animations might be unblocked now
let clients = self.common.shell.update_animations();
{
let dh = self.common.display_handle.clone();
for client in clients.values() {
client_compositor_state(&client).blocker_cleared(self, &dh);
}
}
// screencopy
let mut scheduled_sessions = self.schedule_workspace_sessions(surface.wl_surface());
for output in outputs.into_iter() {