[gdm/gnome-2-30] GdmProductSlave does not handle OpenSession



commit 8eaba3c0c6197e4a20c2e23b13e4918c32df380e
Author: Wang Xin <jedy wang sun com>
Date:   Wed Jun 9 15:10:18 2010 -0400

    GdmProductSlave does not handle OpenSession
    
    In gdm-product-slave.c:relay_dbus_handle_message, there is no code
    handling OpenSession request from GdmSessionRelay of GdmFactorySlave, so
    factory/product mode would not work.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=618834

 daemon/gdm-product-slave.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/daemon/gdm-product-slave.c b/daemon/gdm-product-slave.c
index 1fff780..5ecc1e9 100644
--- a/daemon/gdm-product-slave.c
+++ b/daemon/gdm-product-slave.c
@@ -809,6 +809,13 @@ on_relay_start_conversation (GdmProductSlave *slave,
 }
 
 static void
+on_relay_open_session (GdmProductSlave *slave,
+                        DBusMessage     *message)
+{
+        gdm_session_open_session (GDM_SESSION (slave->priv->session));
+}
+
+static void
 on_relay_start_session (GdmProductSlave *slave,
                         DBusMessage     *message)
 {
@@ -1014,6 +1021,8 @@ relay_dbus_handle_message (DBusConnection *connection,
                 on_relay_layout_selected (slave, message);
         } else if (dbus_message_is_signal (message, RELAY_SERVER_DBUS_INTERFACE, "UserSelected")) {
                 on_relay_user_selected (slave, message);
+        } else if (dbus_message_is_signal (message, RELAY_SERVER_DBUS_INTERFACE, "OpenSession")) {
+                on_relay_open_session (slave, message);
         } else if (dbus_message_is_signal (message, RELAY_SERVER_DBUS_INTERFACE, "StartSession")) {
                 on_relay_start_session (slave, message);
         } else if (dbus_message_is_signal (message, RELAY_SERVER_DBUS_INTERFACE, "StartConversation")) {
@@ -1250,6 +1259,8 @@ gdm_product_slave_finalize (GObject *object)
 
         gdm_product_slave_stop (GDM_SLAVE (slave));
 
+        g_free (slave->priv->relay_address);
+
         G_OBJECT_CLASS (gdm_product_slave_parent_class)->finalize (object);
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]