diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2016-08-12 11:29:01 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2016-08-12 11:29:01 +1200 |
commit | 9dc6b33677f0195dd117e8faef88967a7c4b0afe (patch) | |
tree | cebbc70a1adbcea6160f931f6d4f116d2cf5e321 | |
parent | 5ffa492673e13db51bd7989b662b54e394910ec3 (diff) | |
download | lightdm-git-9dc6b33677f0195dd117e8faef88967a7c4b0afe.tar.gz |
Fix reference count when creating sessions from greeters
-rw-r--r-- | src/seat.c | 2 | ||||
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/scripts/session-greeter-unlock-twice.conf | 54 | ||||
-rwxr-xr-x | tests/test-session-greeter-unlock-twice | 2 |
4 files changed, 59 insertions, 1 deletions
@@ -1877,7 +1877,7 @@ seat_real_create_greeter_session (Seat *seat) static Session * create_session_cb (Greeter *greeter, Seat *seat) { - return create_session (seat, FALSE); + return g_object_ref (create_session (seat, FALSE)); } static Greeter * diff --git a/tests/Makefile.am b/tests/Makefile.am index d5092d80..584810e5 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -170,6 +170,7 @@ TESTS = \ test-session-greeter-autologin \ test-session-greeter-reconnect \ test-session-greeter-unlock \ + test-session-greeter-unlock-twice \ test-vnc-login \ test-vnc-command \ test-vnc-dimensions \ @@ -551,6 +552,7 @@ EXTRA_DIST = \ scripts/session-greeter-autologin.conf \ scripts/session-greeter-reconnect.conf \ scripts/session-greeter-unlock.conf \ + scripts/session-greeter-unlock-twice.conf \ scripts/session-stdout.conf \ scripts/session-stderr.conf \ scripts/session-stderr-multi-write.conf \ diff --git a/tests/scripts/session-greeter-unlock-twice.conf b/tests/scripts/session-greeter-unlock-twice.conf new file mode 100644 index 00000000..fc6d053f --- /dev/null +++ b/tests/scripts/session-greeter-unlock-twice.conf @@ -0,0 +1,54 @@ +# +# Check can unlock user with an in-session greeter and re-lock again +# + +[Seat:*] +autologin-user=have-password1 +user-session=greeter + +#?*START-DAEMON +#?RUNNER DAEMON-START + +# X server starts +#?XSERVER-0 START VT=7 SEAT=seat0 + +# Daemon connects when X server is ready +#?*XSERVER-0 INDICATE-READY +#?XSERVER-0 INDICATE-READY +#?XSERVER-0 ACCEPT-CONNECT + +# Session starts +#?SESSION-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=x11 XDG_SESSION_DESKTOP=greeter USER=have-password1 +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 +#?XSERVER-0 ACCEPT-CONNECT +#?SESSION-X-0 CONNECT-XSERVER + +# Start greeter inside session +#?*SESSION-X-0 GREETER-START +#?SESSION-X-0 GREETER-STARTED + +# Log into our account +#?*SESSION-X-0 GREETER-AUTHENTICATE USERNAME=have-password1 +#?SESSION-X-0 GREETER-SHOW-PROMPT TEXT="Password:" +#?*SESSION-X-0 GREETER-RESPOND TEXT="password" +#?SESSION-X-0 GREETER-AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE +#?*SESSION-X-0 GREETER-START-SESSION + +# We are reactivated +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 + +# Authenticate again +#?*SESSION-X-0 GREETER-AUTHENTICATE USERNAME=have-password1 +#?SESSION-X-0 GREETER-SHOW-PROMPT TEXT="Password:" +#?*SESSION-X-0 GREETER-RESPOND TEXT="password" +#?SESSION-X-0 GREETER-AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE +#?*SESSION-X-0 GREETER-START-SESSION + +# We are reactivated +#?LOGIN1 ACTIVATE-SESSION SESSION=c0 + +# Cleanup +#?*STOP-DAEMON +#?SESSION-X-0 TERMINATE SIGNAL=15 +#?XSERVER-0 TERMINATE SIGNAL=15 +#?RUNNER DAEMON-EXIT STATUS=0 diff --git a/tests/test-session-greeter-unlock-twice b/tests/test-session-greeter-unlock-twice new file mode 100755 index 00000000..3554d0a7 --- /dev/null +++ b/tests/test-session-greeter-unlock-twice @@ -0,0 +1,2 @@ +#!/bin/sh +./src/dbus-env ./src/test-runner session-greeter-unlock-twice test-gobject-greeter |