From dd332881a5d7fadf78d5e3c112787ed3aff04e0a Mon Sep 17 00:00:00 2001 From: Julian Orth Date: Wed, 16 Jul 2025 20:36:11 +0200 Subject: [PATCH] float: apply damage when restacking --- src/ifs/wl_surface/xdg_surface.rs | 1 + src/tree/float.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/ifs/wl_surface/xdg_surface.rs b/src/ifs/wl_surface/xdg_surface.rs index 62624b96..91894af2 100644 --- a/src/ifs/wl_surface/xdg_surface.rs +++ b/src/ifs/wl_surface/xdg_surface.rs @@ -490,6 +490,7 @@ impl XdgSurface { let stack = self.popup_display_stack.get(); for popup in self.popups.lock().values() { if let Some(dl) = &*popup.display_link.borrow() { + popup.popup.xdg.damage(); stack.add_last_existing(dl); } popup.popup.xdg.restack_popups(); diff --git a/src/tree/float.rs b/src/tree/float.rs index 60edbbfd..79c12ca3 100644 --- a/src/tree/float.rs +++ b/src/tree/float.rs @@ -519,6 +519,7 @@ impl FloatNode { fn restack(&self) { if let Some(dl) = &*self.display_link.borrow() { + self.state.damage(self.position.get()); self.state.root.stacked.add_last_existing(&dl); if let Some(tl) = self.child.get() { tl.tl_restack_popups();