@@ -40,7 +40,6 @@ Item {
4040 passwordInput.forceActiveFocus();
4141 } else {
4242 if (root.locked) {
43− root.resetAuthentication();
4443 root.selected(currentIndex);
4544 } else {
4645 root.responded("");
@@ -69,7 +68,9 @@ Item {
6968 function showError() {
7069 wrongPasswordAnimation.start();
7170 root.resetAuthentication();
72− passwordInput.focus = true;
71+ if (wasPrompted) {
72+ passwordInput.focus = true;
73+ }
7374 }
7475
7576 function reset() {
@@ -77,10 +78,13 @@ Item {
7778 }
7879
7980 Keys.onEscapePressed: {
80− root.resetAuthentication();
8181 selected(currentIndex);
8282 }
8383
84+ onCurrentIndexChanged: {
85+ userList.currentIndex = currentIndex;
86+ }
87+
8488 Rectangle {
8589 id: highlightItem
8690 anchors {
@@ -109,8 +113,12 @@ Item {
109113 flickDeceleration: 10000
110114
111115 readonly property bool movingInternally: moveTimer.running || userList.moving
116+ onMovingInternallyChanged: {
117+ if (!movingInternally) {
118+ root.selected(currentIndex);
119+ }
120+ }
112121
113− currentIndex: root.currentIndex
114122 onCurrentIndexChanged: {
115123 root.resetAuthentication();
116124 moveTimer.start();
@@ -222,6 +230,7 @@ Item {
222230 height: units.gu(4.5)
223231 width: parent.width - anchors.margins * 2
224232 opacity: userList.movingInternally ? 0 : 1
233+ enabled: root.wasPrompted
225234
226235 property string promptText
227236 placeholderText: root.wasPrompted ? promptText
@@ -240,7 +249,6 @@ Item {
240249 root.responded(text);
241250 }
242251 Keys.onEscapePressed: {
243− root.resetAuthentication();
244252 root.selected(currentIndex);
245253 }
246254