~ruther/dwl

334bbe6f0f5e4f77789b42ac9e5607d5076aef1b — Leonardo Hernández Hernández 1 year, 2 months ago 1b805dd
fix potential crash in configurex11()

We can't call resize() on unmanaged clients because they don't have borders and
resize() requires them.

Fixes: 94f4ead7dad89433e6087dc19950738c64bbed05
1 files changed, 7 insertions(+), 2 deletions(-)

M dwl.c
M dwl.c => dwl.c +7 -2
@@ 3089,8 3089,13 @@ configurex11(struct wl_listener *listener, void *data)
				event->x, event->y, event->width, event->height);
		return;
	}
	if ((c->isfloating && c != grabc)
			|| client_is_unmanaged(c) || !c->mon->lt[c->mon->sellt]->arrange)
	if (client_is_unmanaged(c)) {
		wlr_scene_node_set_position(&c->scene->node, event->x, event->y);
		wlr_xwayland_surface_configure(c->surface.xwayland,
				event->x, event->y, event->width, event->height);
		return;
	}
	if ((c->isfloating && c != grabc) || !c->mon->lt[c->mon->sellt]->arrange)
		resize(c, (struct wlr_box){.x = event->x - c->bw, .y = event->y - c->bw,
				.width = event->width + c->bw * 2, .height = event->height + c->bw * 2}, 0);
	else