~ruther/dwl

6de87121e2cf05119ddbfb501c87766912aa4d0a — Leonardo Hernández Hernández 1 year, 1 month ago bbc00d8
destroy popups when we can't get it's parent or they don't have monitor
1 files changed, 3 insertions(+), 1 deletions(-)

M dwl.c
M dwl.c => dwl.c +3 -1
@@ 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);