on xenial help sign in
Close race between hideGreeter and PAM
commit341a8323d1822fcb43f848ea11408c473ffd89f1 authorMichael Terry <michael.terry@canonical.com> dateThu 9 Oct 2014, 12:07 (12 years ago) parenta2b5ebc
1 file changed+13
qml/Shell.qml+13
qml/Shell.qml+13
@@ -340,6 +340,10 @@ Item {
340340 onHideGreeter: greeter.login()
341341
342342 onShowPrompt: {
343+ shell.enabled = true;
344+ if (!LightDM.Greeter.active) {
345+ return; // could happen if hideGreeter() comes in before we prompt
346+ }
343347 if (greeter.narrowMode) {
344348 if (isDefaultPrompt) {
345349 if (lockscreen.alphaNumeric) {
@@ -360,6 +364,9 @@ Item {
360364 }
361365
362366 onPromptlessChanged: {
367+ if (!LightDM.Greeter.active) {
368+ return; // could happen if hideGreeter() comes in before we prompt
369+ }
363370 if (LightDM.Greeter.promptless && LightDM.Greeter.authenticated) {
364371 lockscreen.hide()
365372 } else {
@@ -369,6 +376,7 @@ Item {
369376 }
370377
371378 onAuthenticationComplete: {
379+ shell.enabled = true;
372380 if (LightDM.Greeter.authenticated) {
373381 AccountsService.failedLogins = 0
374382 }
@@ -489,6 +497,11 @@ Item {
489497
490498 onShownChanged: {
491499 if (shown) {
500+ // Disable everything so that user can't swipe greeter or
501+ // launcher until we get first prompt/authenticate, which
502+ // will re-enable the shell.
503+ shell.enabled = false;
504+
492505 if (greeter.narrowMode) {
493506 LightDM.Greeter.authenticate(LightDM.Users.data(0, LightDM.UserRoles.NameRole));
494507 }