@@ -23,6 +23,7 @@ import "../Components"
2323Showable {
2424 id: greeter
2525 enabled: shown
26+ created: greeterContentLoader.status == Loader.Ready && greeterContentLoader.item.ready
2627
2728 property url background
2829 property bool loadContent: required
@@ -57,13 +58,13 @@ Showable {
5758 }
5859
5960 function tryToUnlock() {
60− if (greeterContentLoader.item) {
61+ if (created) {
6162 greeterContentLoader.item.tryToUnlock()
6263 }
6364 }
6465
6566 function reset() {
66− if (greeterContentLoader.item) {
67+ if (created) {
6768 greeterContentLoader.item.reset()
6869 }
6970 }
@@ -134,12 +135,6 @@ Showable {
134135 enabled: targetItem.enabled
135136 }
136137
137− Rectangle {
138− // While greeterContent is loading, and in case it's background fails to load
139− anchors.fill: parent
140− color: "black"
141− }
142−
143138 Loader {
144139 id: greeterContentLoader
145140 objectName: "greeterContentLoader"
@@ -147,20 +142,11 @@ Showable {
147142 property var model: LightDM.Users
148143 property int currentIndex: 0
149144 readonly property int backgroundTopMargin: -greeter.y
150− property bool everLoaded: false
151−
152− // We only want to be async after the first one, because during boot,
153− // if we load async, the panel will appear a bit before the greeter
154− // does. We'd rather everything appear at once. But other times,
155− // we don't want to block handling power button presses on loading the
156− // greeter.
157− asynchronous: everLoaded
158145
159146 source: loadContent ? "GreeterContent.qml" : ""
160147
161148 onLoaded: {
162149 greeterContentLoader.item.selected(currentIndex);
163− everLoaded = true;
164150 }
165151
166152 Connections {