You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
calculate-overlay/profiles/templates/3.6/6_ac_install_patch/x11-misc/lightdm/lightdm-1.26-cleanup-script...

33 lines
1.3 KiB

# Calculate format=diff merge(x11-misc/lightdm)=>1.26,1.28
diff --git a/src/seat.c b/src/seat.c
index 775ddbb..18f7ec6 100644
--- a/src/seat.c
+++ b/src/seat.c
@@ -718,6 +718,7 @@ session_authentication_complete_cb (Session *session, Seat *seat)
static void
session_stopped_cb (Session *session, Seat *seat)
{
+ gboolean reactivate = FALSE;
l_debug (seat, "Session stopped");
g_signal_handlers_disconnect_matched (session, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, seat);
@@ -726,13 +727,16 @@ session_stopped_cb (Session *session, Seat *seat)
g_clear_object (&seat->priv->active_session);
if (session == seat->priv->next_session)
g_clear_object (&seat->priv->next_session);
- if (session == seat->priv->session_to_activate)
+ if (session == seat->priv->session_to_activate) {
g_clear_object (&seat->priv->session_to_activate);
+ reactivate = TRUE;
+ }
DisplayServer *display_server = session_get_display_server (session);
/* Cleanup */
- if (!IS_GREETER_SESSION (session))
+ // don't launch cleanup script for non-authenticated session and session reactivation
+ if (!IS_GREETER_SESSION (session) && session_get_is_authenticated(session) && reactivate == FALSE)
{
const gchar *script = seat_get_string_property (seat, "session-cleanup-script");
if (script)