shell: trigger re-render when surface disappears

This commit is contained in:
Victoria Brekenfeld 2022-02-04 20:57:56 +01:00
parent 56e72b4fef
commit 825430fdfd
4 changed files with 47 additions and 5 deletions

View file

@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-only
use crate::{input::active_output, state::State};
use crate::{input::active_output, state::State, utils::SurfaceDropNotifier};
use smithay::{
backend::renderer::utils::on_commit_buffer_handler,
desktop::{
@ -342,6 +342,11 @@ fn commit(surface: &WlSurface, state: &mut State) {
}
let state = &mut state.common;
let _ = with_states(surface, |states| {
states
.data_map
.insert_if_missing(|| SurfaceDropNotifier::from(&*state));
});
if let Some(toplevel) = state.pending_toplevels.iter().find(|toplevel| {
toplevel