~lightdm-team/lightdm/1.4

« back to all changes in this revision

Viewing changes to src/display-manager.c

  • Committer: robert.ancell at canonical
  • Date: 2011-02-20 10:27:53 UTC
  • Revision ID: robert.ancell@canonical.com-20110220102753-2kehwju1amzcpoag
Use a private pipe for greeter<->server communication instead of D-Bus (needs to be fixed in liblightdm-qt)

Show diffs side-by-side

added added

removed removed

Lines of Context:
134
134
static void
135
135
start_session (Display *display, Session *session, gboolean is_greeter, DisplayManager *manager)
136
136
{
137
 
    gchar *string;
 
137
    gchar *log_filename = NULL;
138
138
    XAuthorization *authorization;
139
139
 
140
140
    /* Connect using the session bus */
145
145
        child_process_set_env (CHILD_PROCESS (session), "LDM_BUS", "SESSION");
146
146
    }
147
147
 
148
 
    /* Address for greeter to connect to */
149
 
    string = g_strdup_printf ("/org/lightdm/LightDisplayManager/Display%d", display_get_index (display));
150
 
    child_process_set_env (CHILD_PROCESS (session), "LDM_DISPLAY", string);
151
 
    g_free (string);
152
 
 
153
148
    authorization = xserver_get_authorization (display_get_xserver (display));
154
149
    if (authorization)
155
150
    {
164
159
    {
165
160
        gchar *filename;
166
161
        filename = g_strdup_printf ("%s-greeter.log", xserver_get_address (display_get_xserver (display)));
167
 
        string = g_build_filename (manager->priv->log_dir, filename, NULL);
 
162
        log_filename = g_build_filename (manager->priv->log_dir, filename, NULL);
168
163
        g_free (filename);
169
164
    }
170
165
    else
171
166
    {
172
167
        // FIXME: Copy old error file
173
168
        if (manager->priv->test_mode)
174
 
            string = g_strdup (".xsession-errors");
 
169
            log_filename = g_strdup (".xsession-errors");
175
170
        else
176
171
        {
177
172
            struct passwd *user_info = getpwnam (session_get_username (session));
178
173
            if (user_info)
179
 
                string = g_build_filename (user_info->pw_dir, ".xsession-errors", NULL);
 
174
                log_filename = g_build_filename (user_info->pw_dir, ".xsession-errors", NULL);
180
175
            else
181
176
                g_warning ("Failed to get user info for user '%s'", session_get_username (session));
182
177
        }
183
178
    }
184
 
    g_debug ("Logging to %s", string);
185
 
    child_process_set_log_file (CHILD_PROCESS (session), string);
186
 
    g_free (string);
 
179
  
 
180
    if (log_filename)
 
181
    {      
 
182
        g_debug ("Logging to %s", log_filename);
 
183
        child_process_set_log_file (CHILD_PROCESS (session), log_filename);
 
184
        g_free (log_filename);
 
185
    }
187
186
}
188
187
 
189
188
static void