gdm r6039 - in trunk: . daemon
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r6039 - in trunk: . daemon
- Date: Tue, 18 Mar 2008 02:15:38 +0000 (GMT)
Author: mccann
Date: Tue Mar 18 02:15:37 2008
New Revision: 6039
URL: http://svn.gnome.org/viewvc/gdm?rev=6039&view=rev
Log:
2008-03-17 William Jon McCann <jmccann redhat com>
* daemon/gdm-session-worker.c: (on_start_program):
* daemon/gdm-simple-slave.c: (start_session_timeout),
(on_session_accreditation_failed), (on_greeter_cancel):
Close the session immediately after migration so there
are no races.
Modified:
trunk/ChangeLog
trunk/daemon/gdm-session-worker.c
trunk/daemon/gdm-simple-slave.c
Modified: trunk/daemon/gdm-session-worker.c
==============================================================================
--- trunk/daemon/gdm-session-worker.c (original)
+++ trunk/daemon/gdm-session-worker.c Tue Mar 18 02:15:37 2008
@@ -2093,6 +2093,7 @@
if (worker->priv->arguments != NULL) {
g_strfreev (worker->priv->arguments);
+ worker->priv->arguments = NULL;
}
parse_error = NULL;
Modified: trunk/daemon/gdm-simple-slave.c
==============================================================================
--- trunk/daemon/gdm-simple-slave.c (original)
+++ trunk/daemon/gdm-simple-slave.c Tue Mar 18 02:15:37 2008
@@ -281,6 +281,12 @@
migrated = try_migrate_session (slave);
g_debug ("GdmSimpleSlave: migrated: %d", migrated);
if (migrated) {
+ if (slave->priv->session != NULL) {
+ gdm_session_close (GDM_SESSION (slave->priv->session));
+ g_object_unref (slave->priv->session);
+ slave->priv->session = NULL;
+ }
+
queue_greeter_reset (slave);
goto out;
}
@@ -339,6 +345,12 @@
gdm_greeter_server_problem (slave->priv->greeter_server, _("Unable establish credentials"));
}
+ if (slave->priv->session != NULL) {
+ gdm_session_close (GDM_SESSION (slave->priv->session));
+ g_object_unref (slave->priv->session);
+ slave->priv->session = NULL;
+ }
+
queue_greeter_reset (slave);
}
@@ -690,6 +702,7 @@
if (slave->priv->session != NULL) {
gdm_session_close (GDM_SESSION (slave->priv->session));
g_object_unref (slave->priv->session);
+ slave->priv->session = NULL;
}
create_new_session (slave);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]