fix: avoid use null mon when session not active

This commit is contained in:
DreamMaoMao
2026-01-01 14:48:49 +08:00
parent ed557fa5aa
commit 23d550e04d
3 changed files with 7 additions and 2 deletions

View File

@@ -83,7 +83,7 @@ setclient_coordinate_center(Client *c, struct wlr_box geom, int offsetx,
uint32_t cbw = check_hit_no_border(c) ? c->bw : 0;
if (!c->no_force_center) {
if (!c->no_force_center && m) {
tempbox.x = m->w.x + (m->w.width - geom.width) / 2;
tempbox.y = m->w.y + (m->w.height - geom.height) / 2;
} else {

View File

@@ -1,6 +1,10 @@
void set_size_per(Monitor *m, Client *c) {
Client *fc = NULL;
bool found = false;
if (!m || !c)
return;
wl_list_for_each(fc, &clients, link) {
if (VISIBLEON(fc, m) && ISTILED(fc) && fc != c) {
c->master_mfact_per = fc->master_mfact_per;

View File

@@ -1353,6 +1353,7 @@ void applyrules(Client *c) {
}
}
if (mon)
set_size_per(mon, c);
// if no geom rule hit and is normal winodw, use the center pos and record