@@ -76,9 +76,16 @@ Showable {
76 // already shown, do it manually.
76 // already shown, do it manually.
77 d.selectUser(d.currentIndex, true);
77 d.selectUser(d.currentIndex, true);
79 // Even though we may already be shown, we want to call show() for its
80 // Even though we may already be shown, we want to call show() for its
80 // possible side effects, like hiding indicators and such.
81 // possible side effects, like hiding indicators and such.
83+ // We re-check forcedUnlock here, because selectUser above might
84+ // process events during authentication, and a request to unlock could
85+ // have come in in the meantime.
81− showNow();
87+ showNow();
84 function notifyAppFocusRequested(appId) {
91 function notifyAppFocusRequested(appId) {
@@ -427,8 +434,7 @@ Showable {
427 target: LightDMService.greeter
434 target: LightDMService.greeter
429 onShowGreeter: root.forceShow()
436 onShowGreeter: root.forceShow()
431− onHideGreeter: d.login()
437+ onHideGreeter: root.forcedUnlock = true
433 onShowMessage: {
439 onShowMessage: {
434 // inefficient, but we only rarely deal with messages
440 // inefficient, but we only rarely deal with messages