Comment 14 for bug 586503

Revision history for this message
chris (puwei23) wrote :

It's still present in Ubuntu 11.04.

I try to fix it, and it work fine for me now. In file gdm-simple-slave.c,

static void
stop_greeter (GdmSimpleSlave *slave)
{
        char *username;

        g_debug ("GdmSimpleSlave: Stopping greeter");

        /* Run the PostLogin script. gdmslave suspends until script has terminated */
        username = gdm_session_direct_get_username (slave->priv->session);

        if (username != NULL) {
                gdm_slave_run_script (GDM_SLAVE (slave), GDMCONFDIR "/PostLogin", username);
        }
        g_free (username);

        if (slave->priv->greeter == NULL) {
                g_debug ("GdmSimpleSlave: No greeter running");
                return;
        }

        gdm_welcome_session_stop (GDM_WELCOME_SESSION (slave->priv->greeter));
        gdm_greeter_server_stop (slave->priv->greeter_server);

        g_object_unref (slave->priv->greeter);
        slave->priv->greeter = NULL;
}