]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
When locking, start display server after connecting it to a session
authorMichael Terry <michael.terry@canonical.com>
Mon, 25 Nov 2013 21:58:43 +0000 (16:58 -0500)
committerMichael Terry <michael.terry@canonical.com>
Mon, 25 Nov 2013 21:58:43 +0000 (16:58 -0500)
src/seat.c
tests/Makefile.am
tests/scripts/unity-mir-lock-seat.conf [new file with mode: 0644]
tests/test-unity-mir-lock-seat [new file with mode: 0755]

index 1596a3dac4f63df3262f2a0fc4fc5865f36c8552..39be5bebe0fa1f8df40b342fb6fb91227a361cf5 100644 (file)
@@ -1382,8 +1382,6 @@ seat_switch_to_guest (Seat *seat, const gchar *session_name)
         return FALSE;
 
     display_server = create_display_server (seat, session_get_session_type (session));
-    if (!display_server_start (display_server))
-        return FALSE;
 
     if (seat->priv->session_to_activate)
         g_object_unref (seat->priv->session_to_activate);
@@ -1391,7 +1389,7 @@ seat_switch_to_guest (Seat *seat, const gchar *session_name)
     session_set_pam_service (session, AUTOLOGIN_SERVICE);
     session_set_display_server (session, display_server);
 
-    return TRUE;
+    return display_server_start (display_server);
 }
 
 gboolean
@@ -1421,8 +1419,6 @@ seat_lock (Seat *seat, const gchar *username)
         return FALSE;
 
     display_server = create_display_server (seat, session_get_session_type (SESSION (greeter_session)));
-    if (!display_server_start (display_server))
-        return FALSE;
 
     if (seat->priv->session_to_activate)
         g_object_unref (seat->priv->session_to_activate);
@@ -1432,7 +1428,7 @@ seat_lock (Seat *seat, const gchar *username)
         greeter_set_hint (greeter_session, "select-user", username);
     session_set_display_server (SESSION (greeter_session), display_server);
 
-    return TRUE;
+    return display_server_start (display_server);
 }
 
 void
index 6bc5167aa4d8d8c452afa853d9f74b62ed49910d..bccce036da6be3dff95494567bc5af3af9a082b2 100644 (file)
@@ -165,6 +165,7 @@ TESTS = \
        test-unity-mir-autologin \
        test-unity-mir-greeter-x-session \
        test-unity-mir-greeter-mir-session \
+       test-unity-mir-lock-seat \
        test-unity-mir-session-x-greeter \
        test-unity-xdg-seat \
        test-surfaceflinger-autologin
@@ -436,6 +437,7 @@ EXTRA_DIST = \
        scripts/unity-login.conf \
        scripts/unity-mir-autologin.conf \
        scripts/unity-mir-greeter-mir-session.conf \
+       scripts/unity-mir-lock-seat.conf \
        scripts/unity-mir-greeter-x-session.conf \
        scripts/unity-mir-session-x-greeter.conf \
        scripts/unity-plymouth.conf \
diff --git a/tests/scripts/unity-mir-lock-seat.conf b/tests/scripts/unity-mir-lock-seat.conf
new file mode 100644 (file)
index 0000000..e4911cf
--- /dev/null
@@ -0,0 +1,43 @@
+#
+# Check can lock a seat from D-Bus with Mir
+#
+
+[SeatDefaults]
+autologin-user=have-password1
+type=unity
+user-session=mir
+
+#?RUNNER DAEMON-START
+
+# System compositor starts
+#?UNITY-SYSTEM-COMPOSITOR START VT=7 XDG_VTNR=7
+#?*UNITY-SYSTEM-COMPOSITOR READY
+
+# Session starts
+#?SESSION-MIR-session-0 START XDG_SEAT=seat0 XDG_VTNR=7 DESKTOP_SESSION=mir USER=have-password1
+
+# System compositor switches to session
+#?UNITY-SYSTEM-COMPOSITOR SET-ACTIVE-SESSION ID=session-0
+
+# Lock the seat
+#?*SESSION-MIR-session-0 LOCK-SEAT
+#?SESSION-MIR-session-0 LOCK-SEAT
+
+# Session is locked
+#?LOGIN1 LOCK-SESSION
+
+# Greeter starts
+#?GREETER-MIR-greeter-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?GREETER-MIR-greeter-0 CONNECT-TO-DAEMON
+#?GREETER-MIR-greeter-0 CONNECTED-TO-DAEMON
+#?GREETER-MIR-greeter-0 LOCK-HINT
+
+# Switch to greeter
+#?UNITY-SYSTEM-COMPOSITOR SET-ACTIVE-SESSION ID=greeter-0
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-MIR-greeter-0 TERMINATE SIGNAL=15
+#?SESSION-MIR-session-0 TERMINATE SIGNAL=15
+#?UNITY-SYSTEM-COMPOSITOR TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/test-unity-mir-lock-seat b/tests/test-unity-mir-lock-seat
new file mode 100755 (executable)
index 0000000..b4b4a19
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner unity-mir-lock-seat test-mir-greeter