From 5ef50986c299e70f2a146961e9fabffe72f70a33 Mon Sep 17 00:00:00 2001 From: tokyo4j Date: Mon, 3 Jun 2024 17:50:13 +0900 Subject: [PATCH] IME: destroy popup node when popup is destroyed Before this commit, scene-nodes for IME popup were destroyed when the bound wl_surface is destroyed. However, this caused a bug that multiple popup nodes are shown when input_popup_surface_v2 is recreated with the same wl_surface. --- src/input/ime.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/input/ime.c b/src/input/ime.c index 9f57e530..6b103153 100644 --- a/src/input/ime.c +++ b/src/input/ime.c @@ -354,6 +354,7 @@ handle_popup_surface_destroy(struct wl_listener *listener, void *data) { struct input_method_popup *popup = wl_container_of(listener, popup, destroy); + wlr_scene_node_destroy(&popup->tree->node); wl_list_remove(&popup->destroy.link); wl_list_remove(&popup->commit.link); wl_list_remove(&popup->link);