on xenial help sign in
Fix some bits and pieces that weren't ready for an async greeter load
commit037b383dd9adfa93e8ad6165f62d72b4d3a11d39 authorMichael Terry <michael.terry@canonical.com> dateMon 24 Nov 2014, 13:17 (12 years ago) parent45da0be
4 files changed+18−14
qml/Greeter/Greeter.qml+7 qml/Greeter/GreeterContent.qml−7 qml/Greeter/Infographics.qml+7−5 qml/Shell.qml+4−2
qml/Greeter/Greeter.qml+7
@@ -135,6 +135,13 @@ Showable {
135135 enabled: targetItem.enabled
136136 }
137137
138+ Rectangle {
139+ // While greeterContent is loading, and in case it's background fails to load
140+ id: backgroundBackup
141+ anchors.fill: parent
142+ color: "black"
143+ }
144+
138145 Loader {
139146 id: greeterContentLoader
140147 objectName: "greeterContentLoader"
qml/Greeter/GreeterContent.qml−7
@@ -41,13 +41,6 @@ Item {
4141 }
4242 }
4343
44− Rectangle {
45− // In case background fails to load
46− id: backgroundBackup
47− anchors.fill: parent
48− color: "black"
49− }
50−
5144 CrossFadeImage {
5245 id: background
5346 objectName: "greeterBackground"
qml/Greeter/Infographics.qml+7−5
@@ -255,14 +255,16 @@ Item {
255255 interval: animDuration * 0.5; running: false; repeat: true
256256 onTriggered: {
257257 if (dotCounter < dots.count) {
258− var nextDot = dots.itemAt(dotCounter++)
259− nextDot.unlockAnimation.start()
258+ var nextDot = dots.itemAt(dotCounter);
259+ if (nextDot) {
260+ nextDot.unlockAnimation.start();
261+ if (++dotCounter == Math.round(dots.count / 2)) {
262+ circleChangeAnimTimer.startFromBeginning();
263+ }
264+ }
260265 } else {
261266 stop()
262267 }
263− if (dotCounter == Math.round(dots.count / 2)) {
264− circleChangeAnimTimer.startFromBeginning()
265− }
266268 }
267269
268270 function startFromBeginning() {
qml/Shell.qml+4−2
@@ -538,6 +538,8 @@ Item {
538538 property string lockedApp: ""
539539 property bool hasLockedApp: lockedApp !== ""
540540
541+ property bool ready: shown && required && created
542+
541543 available: true
542544 hides: [launcher, panel.indicators]
543545 shown: true
@@ -575,8 +577,8 @@ Item {
575577 enabled = true;
576578 }
577579
578− onShownChanged: {
579− if (shown) {
580+ onReadyChanged: {
581+ if (ready) {
580582 // Disable everything so that user can't swipe greeter or
581583 // launcher until we get the next prompt/authenticate, which
582584 // will re-enable the shell.