From f603e09530c0992114711467d26412028d6eff75 Mon Sep 17 00:00:00 2001 From: speckitor Date: Sat, 10 Jan 2026 19:54:53 +0700 Subject: [PATCH] popups --- src/server.c | 4 ++-- src/xdg-popup.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/server.c b/src/server.c index 58faf6a..e568604 100644 --- a/src/server.c +++ b/src/server.c @@ -93,8 +93,8 @@ void server_new_xdg_popup(struct wl_listener *listener, void *data) popup->xdg_popup = xdg_popup; struct wlr_xdg_surface *parent = wlr_xdg_surface_try_from_wlr_surface(xdg_popup->parent); - assert(parent != NULL); - struct wlr_scene_tree *parent_tree = parent->data; + struct absinthe_toplevel *parent_toplevel = parent->data; + struct wlr_scene_tree *parent_tree = parent_toplevel->scene_tree; xdg_popup->base->data = wlr_scene_xdg_surface_create(parent_tree, xdg_popup->base); popup->commit.notify = xdg_popup_commit; diff --git a/src/xdg-popup.c b/src/xdg-popup.c index 9421e85..97fb328 100644 --- a/src/xdg-popup.c +++ b/src/xdg-popup.c @@ -14,7 +14,7 @@ void xdg_popup_commit(struct wl_listener *listener, void *data) void xdg_popup_destroy(struct wl_listener *listener, void *data) { - struct absinthe_popup *popup = wl_container_of(listener, popup, commit); + struct absinthe_popup *popup = wl_container_of(listener, popup, destroy); wl_list_remove(&popup->commit.link); wl_list_remove(&popup->destroy.link);