Fix crash unplugging focused mon 2

Focus the top client on newmon, which we know for sure that it isn't
going to be unplugged or disabled and actually set that as the focused
monitor to move the focus. This is necessary to prevent crash when
disabling monitors with the output-management patch.
This commit is contained in:
Stivvo 2020-10-31 10:39:53 +01:00
parent a4d42ea798
commit 5622dbdaf3

3
dwl.c
View file

@ -706,7 +706,8 @@ closemon(Monitor *m, Monitor *newmon)
// move all the clients on a closed monitor to another one // move all the clients on a closed monitor to another one
Client *c; Client *c;
focusclient(selclient(), focustop(dirtomon(-1)), 1); selmon = newmon;
focusclient(selclient(), focustop(newmon), 1);
wl_list_for_each(c, &clients, link) { wl_list_for_each(c, &clients, link) {
if (c->isfloating && c->geom.x > m->m.width) if (c->isfloating && c->geom.x > m->m.width)
resize(c, c->geom.x - m->w.width, c->geom.y, resize(c, c->geom.x - m->w.width, c->geom.y,