only set border color for urgent *and* mapped X11 clients

this fixes a segfault when the client emits .set_hints but it's not mapped

Fixes: 72a7d78a1a
This commit is contained in:
Leonardo Hernández Hernández 2023-10-09 22:16:52 -06:00
parent 6d9a915fb6
commit 887fde65a3
No known key found for this signature in database
GPG key ID: E538897EE11B9624

5
dwl.c
View file

@ -2756,8 +2756,11 @@ sethints(struct wl_listener *listener, void *data)
if (c == focustop(selmon)) if (c == focustop(selmon))
return; return;
client_set_border_color(c, urgentcolor);
c->isurgent = xcb_icccm_wm_hints_get_urgency(c->surface.xwayland->hints); c->isurgent = xcb_icccm_wm_hints_get_urgency(c->surface.xwayland->hints);
if (c->isurgent && client_is_mapped(c))
client_set_border_color(c, urgentcolor);
printstatus(); printstatus();
} }