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.
This commit is contained in:
tokyo4j 2024-06-03 17:50:13 +09:00 committed by Hiroaki Yamamoto
parent bbe60088e5
commit 5ef50986c2

View file

@ -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);