commit 6de87121e2cf05119ddbfb501c87766912aa4d0a
parent bbc00d88a45df249009c9946dfd88285eecac0c5
Author: Leonardo Hernández Hernández <leohdz172@proton.me>
Date: Wed, 14 Aug 2024 13:10:58 -0600
destroy popups when we can't get it's parent or they don't have monitor
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dwl.c b/dwl.c
@@ -834,8 +834,10 @@ commitpopup(struct wl_listener *listener, void *data)
return;
popup->base->surface->data = wlr_scene_xdg_surface_create(
popup->parent->data, popup->base);
- if ((l && !l->mon) || (c && !c->mon))
+ if ((l && !l->mon) || (c && !c->mon)) {
+ wlr_xdg_popup_destroy(popup);
return;
+ }
box = type == LayerShell ? l->mon->m : c->mon->w;
box.x -= (type == LayerShell ? l->scene->node.x : c->geom.x);
box.y -= (type == LayerShell ? l->scene->node.y : c->geom.y);