@@ -62,16 +62,6 @@ Showable {
6262
6363 readonly property bool animating: loader.item ? loader.item.animating : false
6464
65− property string sessionToStart: {
66− if (loader.active && loader.item.sessionToStart !== undefined) {
67− return loader.item.sessionToStart
68− } else if (LightDMService.greeter.defaultSession) {
69− return LightDMService.greeter.defaultSession
70− } else {
71− return "ubuntu"
72− }
73− }
74−
7565 signal tease()
7666 signal sessionStarted()
7767 signal emergencyCall()
@@ -135,6 +125,18 @@ Showable {
135125 return d.startUnlock(true /* toTheRight */);
136126 }
137127
128+ function sessionToStart() {
129+ for (var i = 0; i < LightDMService.sessions.count; i++) {
130+ var session = LightDMService.sessions.data(i,
131+ LightDMService.sessionRoles.KeyRole);
132+ if (session === LightDMService.greeter.defaultSession ||
133+ session === loader.item.sessionToStart) {
134+ return session;
135+ }
136+ }
137+ return "ubuntu" // The default / fallback
138+ }
139+
138140 QtObject {
139141 id: d
140142
@@ -200,7 +202,7 @@ Showable {
200202
201203 function login() {
202204 enabled = false;
203− if (LightDMService.greeter.startSessionSync(root.sessionToStart)) {
205+ if (LightDMService.greeter.startSessionSync(root.sessionToStart())) {
204206 sessionStarted();
205207 hideView();
206208 } else if (loader.item) {