From 454756fc119705620415528d70ac3c8f6d9c77db Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Mon, 17 Apr 2023 04:26:16 -0400 Subject: Try activating an existing greeter before checking for switch support If the seat has an existing greeter session then we should activate it regardless of whether the seat supports user switching. (If the seat does not support user switching then there shouldn't be an existing greeter session, I think. Either way, it doesn't hurt to try.) --- src/seat.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/seat.c b/src/seat.c index 34539cc3..9a734845 100644 --- a/src/seat.c +++ b/src/seat.c @@ -1403,12 +1403,6 @@ seat_switch_to_greeter (Seat *seat) g_return_val_if_fail (seat != NULL, FALSE); - if (!seat_get_can_switch (seat) && priv->sessions != NULL) - { - l_debug (seat, "Unable to switch to greeter because the seat already has a session and does not support session switching"); - return FALSE; - } - /* Switch to greeter if one open */ GreeterSession *greeter_session = find_greeter_session (seat); if (greeter_session) @@ -1418,6 +1412,12 @@ seat_switch_to_greeter (Seat *seat) return TRUE; } + if (!seat_get_can_switch (seat) && priv->sessions != NULL) + { + l_debug (seat, "Unable to switch to greeter because the seat already has a session and does not support session switching"); + return FALSE; + } + greeter_session = create_greeter_session (seat); if (!greeter_session) { -- cgit v1.2.1