gdm r5693 - in trunk: . daemon
- From: mccann svn gnome org
- To: svn-commits-list gnome org
- Subject: gdm r5693 - in trunk: . daemon
- Date: Tue, 5 Feb 2008 14:55:35 +0000 (GMT)
Author: mccann
Date: Tue Feb 5 14:55:35 2008
New Revision: 5693
URL: http://svn.gnome.org/viewvc/gdm?rev=5693&view=rev
Log:
2008-02-05 William Jon McCann <jmccann redhat com>
* daemon/gdm-slave.c: (session_unlock),
(gdm_slave_switch_to_user_session):
Unlock session after switching.
Modified:
trunk/ChangeLog
trunk/daemon/gdm-slave.c
Modified: trunk/daemon/gdm-slave.c
==============================================================================
--- trunk/daemon/gdm-slave.c (original)
+++ trunk/daemon/gdm-slave.c Tue Feb 5 14:55:35 2008
@@ -984,6 +984,40 @@
return ret;
}
+static gboolean
+session_unlock (GdmSlave *slave,
+ const char *ssid)
+{
+ DBusError error;
+ DBusMessage *message;
+ DBusMessage *reply;
+
+ g_debug ("ConsoleKit: Unlocking session %s", ssid);
+ message = dbus_message_new_method_call (CK_NAME,
+ ssid,
+ CK_SESSION_INTERFACE,
+ "Unlock");
+ if (message == NULL) {
+ g_debug ("GdmSlave: ConsoleKit couldn't allocate the D-Bus message");
+ return FALSE;
+ }
+
+ dbus_error_init (&error);
+ reply = dbus_connection_send_with_reply_and_block (dbus_g_connection_get_connection (slave->priv->connection),
+ message,
+ -1, &error);
+ dbus_message_unref (message);
+ dbus_message_unref (reply);
+ dbus_connection_flush (dbus_g_connection_get_connection (slave->priv->connection));
+
+ if (dbus_error_is_set (&error)) {
+ g_debug ("GdmSlave: ConsoleKit %s raised:\n %s\n\n", error.name, error.message);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
gboolean
gdm_slave_switch_to_user_session (GdmSlave *slave,
const char *username)
@@ -1008,6 +1042,12 @@
goto out;
}
+ res = session_unlock (slave, ssid_to_activate);
+ if (!res) {
+ /* this isn't fatal */
+ g_debug ("GdmSlave: unable to unlock session: %s", ssid_to_activate);
+ }
+
ret = TRUE;
out:
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]