]> git.mdlowis.com Git - proto/labwc.git/commitdiff
IME: destroy popup node when popup is destroyed
authortokyo4j <hrak1529@gmail.com>
Mon, 3 Jun 2024 08:50:13 +0000 (17:50 +0900)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Mon, 3 Jun 2024 18:59:56 +0000 (03:59 +0900)
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

index 9f57e5303140c5744c1a33d4609510540c48af07..6b103153a5eb22b08ad628ab640ac52666d02793 100644 (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);