From 6643e30a743bee331ec8d8d9dab82b7671860da2 Mon Sep 17 00:00:00 2001 From: DreamMaoMao <2523610504@qq.com> Date: Tue, 23 Jun 2026 14:01:46 +0800 Subject: [PATCH] fix: miss reparent client node backto scene_surface node after replace client --- src/mango.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/mango.c b/src/mango.c index 5f4b2855..bb6d9bb6 100644 --- a/src/mango.c +++ b/src/mango.c @@ -1332,6 +1332,9 @@ void client_replace(Client *c, Client *w, bool isgroupaction) { } if (w->overview_scene_surface) { + wlr_scene_node_reparent(&w->shield->node, w->overview_scene_surface); + wlr_scene_node_raise_to_top(&w->shield->node); + wlr_scene_node_destroy(&w->scene_surface->node); w->scene_surface = w->overview_scene_surface; w->overview_scene_surface = NULL; @@ -6381,6 +6384,9 @@ void overview_backup_surface(Client *c) { wlr_scene_tree_snapshot(&c->scene_surface->node, c->scene); wlr_scene_node_set_enabled(&c->overview_scene_surface->node, false); wlr_scene_node_set_enabled(&c->scene_surface->node, true); + + wlr_scene_node_reparent(&c->shield->node, c->scene_surface); + wlr_scene_node_raise_to_top(&c->shield->node); } // 普通视图切换到overview时保存窗口的旧状态