X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-seat.c;h=5c15ff3a893db509719ee93800c8bce7e632ecc9;hb=f08ce65bef386c42d6a1c0171dac612512772c70;hp=3daaf000eaccf0087962cd40a2f8b504d30a3cb7;hpb=42c23dcd12e2b65f7b16b560cabdaf46bafaefec;p=elogind.git diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 3daaf000e..5c15ff3a8 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -454,7 +454,7 @@ void seat_evict_position(Seat *s, Session *session) { * position (eg., during gdm->session transition), so let's look * for it and set it on the free slot. */ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { - if (iter->position == pos) { + if (iter->position == pos && session_get_state(iter) != SESSION_CLOSING) { s->positions[pos] = iter; break; }