summaryrefslogtreecommitdiff
path: root/src/session.c
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2013-07-23 16:55:26 +1200
committerRobert Ancell <robert.ancell@canonical.com>2013-07-23 16:55:26 +1200
commit2e1357b1cadad65a1dca5437c976d4c366d0e5f2 (patch)
tree1c66ca862ab07daf564ef20245eae60fa8061d9a /src/session.c
parent94973ee498f943a41d71db1215e60d2d68a60b72 (diff)
downloadlightdm-2e1357b1cadad65a1dca5437c976d4c366d0e5f2.tar.gz
Don't subclass session - we don't know the session type until after authentication
Diffstat (limited to 'src/session.c')
-rw-r--r--src/session.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/session.c b/src/session.c
index 301663ac..4c86bf85 100644
--- a/src/session.c
+++ b/src/session.c
@@ -119,6 +119,17 @@ struct SessionPrivate
G_DEFINE_TYPE (Session, session, G_TYPE_OBJECT);
+Session *
+session_new (void)
+{
+ return g_object_new (SESSION_TYPE, NULL);
+}
+
+void
+session_set_session_type (Session *session, const gchar *session_type)
+{
+}
+
const gchar *
session_get_session_type (Session *session)
{
@@ -476,6 +487,8 @@ session_real_start (Session *session)
g_return_val_if_fail (session->priv->pid == 0, FALSE);
+ display_server_setup_session (session->priv->display_server, session);
+
/* Create pipes to talk to the child */
if (pipe (to_child_pipe) < 0 || pipe (from_child_pipe) < 0)
{
@@ -655,6 +668,8 @@ session_real_run (Session *session)
g_return_if_fail (session->priv->argv != NULL);
g_return_if_fail (session->priv->pid != 0);
+ display_server_setup_session (session->priv->display_server, session);
+
session->priv->command_run = TRUE;
command = g_strjoinv (" ", session->priv->argv);
@@ -769,6 +784,7 @@ static void
session_init (Session *session)
{
session->priv = G_TYPE_INSTANCE_GET_PRIVATE (session, SESSION_TYPE, SessionPrivate);
+ session->priv->log_filename = g_strdup (".xsession-errors");
}
static void