@@ -119,6 +119,9 @@ FocusScope {
121 function updateImage() {
121 function updateImage() {
122+ if (testImage.source == "")
122 if (testImage.status == Image.Ready) {
125 if (testImage.status == Image.Ready) {
123 if (shell.width / shell.height <= testImage.sourceSize.width / testImage.sourceSize.height) {
126 if (shell.width / shell.height <= testImage.sourceSize.width / testImage.sourceSize.height) {
124 backgroundImage.sourceSize.width = 0
127 backgroundImage.sourceSize.width = 0
@@ -133,12 +136,20 @@ FocusScope {
133 } else if (testImage.status == Image.Error) {
136 } else if (testImage.status == Image.Error) {
134 shell.background = shell.default_background
137 shell.background = shell.default_background
140+ // unload testImage source to save memory
141+ testImage.source = ""
139 id: testImage
145 id: testImage
140− source: backgroundSettings.pictureUri
147+ property url gsettingsImage: backgroundSettings.pictureUri
149+ source: gsettingsImage
141 visible: false
150 visible: false
152+ onGsettingsImageChanged: source = gsettingsImage
142 onStatusChanged: updateImage()
153 onStatusChanged: updateImage()