~ubuntu-branches/debian/stretch/lightdm/stretch

« back to all changes in this revision

Viewing changes to liblightdm-gobject/session.c

  • Committer: Package Import Robot
  • Author(s): Yves-Alexis Perez
  • Date: 2014-04-22 23:33:26 UTC
  • mfrom: (1.1.23) (16.1.11 experimental)
  • Revision ID: package-import@ubuntu.com-20140422233326-gpd7rgap1v53zkuy
Tags: 1.10.0-2
Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
#include <string.h>
12
12
#include <gio/gdesktopappinfo.h>
13
13
 
 
14
#include "configuration.h"
14
15
#include "lightdm/session.h"
15
16
 
16
17
enum {
119
120
    GError *error = NULL;
120
121
 
121
122
    directory = g_dir_open (sessions_dir, 0, &error);
122
 
    if (error)
 
123
    if (error && !g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NOENT))
123
124
        g_warning ("Failed to open sessions directory: %s", error->message);
124
125
    g_clear_error (&error);
125
126
    if (!directory)
191
192
static void
192
193
update_sessions (void)
193
194
{
194
 
    GKeyFile *config_key_file = NULL;
195
 
    gchar *config_path = NULL;
196
195
    gchar *sessions_dir;
197
196
    gchar *remote_sessions_dir;
198
 
    gboolean result;
199
 
    GError *error = NULL;
 
197
    gchar *value;
200
198
 
201
199
    if (have_sessions)
202
200
        return;
205
203
    remote_sessions_dir = g_strdup (REMOTE_SESSIONS_DIR);
206
204
 
207
205
    /* Use session directory from configuration */
208
 
    /* FIXME: This should be sent in the greeter connection */
209
 
    config_path = g_build_filename (CONFIG_DIR, "lightdm.conf", NULL);
210
 
    config_key_file = g_key_file_new ();
211
 
    result = g_key_file_load_from_file (config_key_file, config_path, G_KEY_FILE_NONE, &error);
212
 
    if (error)
213
 
        g_warning ("Failed to open configuration file: %s", error->message);
214
 
    g_clear_error (&error);
215
 
    if (result)
216
 
    {
217
 
        gchar *value;
 
206
    config_load_from_standard_locations (config_get_instance (), NULL, NULL);
218
207
      
219
 
        value = g_key_file_get_string (config_key_file, "LightDM", "sessions-directory", NULL);
220
 
        if (value)
221
 
        {
222
 
            g_free (sessions_dir);
223
 
            sessions_dir = value;
224
 
        }
 
208
    value = config_get_string (config_get_instance (), "LightDM", "sessions-directory");
 
209
    if (value)
 
210
    {
 
211
        g_free (sessions_dir);
 
212
        sessions_dir = value;
 
213
    }
225
214
 
226
 
        value = g_key_file_get_string (config_key_file, "LightDM", "remote-sessions-directory", NULL);
227
 
        if (value)
228
 
        {
229
 
            g_free (remote_sessions_dir);
230
 
            remote_sessions_dir = value;
231
 
        }
 
215
    value = config_get_string (config_get_instance (), "LightDM", "remote-sessions-directory");
 
216
    if (value)
 
217
    {
 
218
        g_free (remote_sessions_dir);
 
219
        remote_sessions_dir = value;
232
220
    }
233
 
    g_key_file_free (config_key_file);
234
 
    g_free (config_path);
235
221
 
236
222
    local_sessions = load_sessions (sessions_dir);
237
223
    remote_sessions = load_sessions (remote_sessions_dir);