@@ -44,7 +44,7 @@ Item {
4444
4545 property real margins: units.gu(1)
4646
47− spacing: mascotShape.visible || mascotImage.visible || inOverlay ? margins : 0
47+ spacing: mascotShapeLoader.active || mascotImage.visible || inOverlay ? margins : 0
4848 anchors {
4949 top: parent.top; left: parent.left; right: parent.right
5050 margins: margins
@@ -52,30 +52,33 @@ Item {
5252 rightMargin: spacing
5353 }
5454
55− UbuntuShape {
56− id: mascotShape
57− objectName: "mascotShape"
55+ Loader {
56+ id: mascotShapeLoader
57+ objectName: "mascotShapeLoader"
5858
59+ active: useMascotShape && mascotImage && mascotImage.status === Image.Ready
60+ visible: active
61+ anchors.verticalCenter: parent.verticalCenter
5962 // TODO karni: Icon aspect-ratio is 8:7.5. Revisit these values to avoid fraction of pixels.
6063 width: units.gu(6)
6164 height: units.gu(5.625)
62− anchors.verticalCenter: parent.verticalCenter
63− visible: useMascotShape && image && image.status === Image.Ready
6465 readonly property int maxSize: Math.max(width, height) * 4
6566
66− image: useMascotShape ? mascotImage : null
67+ sourceComponent: UbuntuShape {
68+ image: useMascotShape ? mascotImage : null
69+ }
6770 }
6871
6972 Image {
7073 id: mascotImage
7174 objectName: "mascotImage"
7275
73− width: source ? mascotShape.width : 0
74− height: mascotShape.height
76+ width: source ? mascotShapeLoader.width : 0
77+ height: mascotShapeLoader.height
7578 anchors.verticalCenter: parent.verticalCenter
7679 visible: !useMascotShape && status === Image.Ready
7780
78− sourceSize { width: mascotShape.maxSize; height: mascotShape.maxSize }
81+ sourceSize { width: mascotShapeLoader.maxSize; height: mascotShapeLoader.maxSize }
7982 fillMode: Image.PreserveAspectCrop
8083 horizontalAlignment: Image.AlignHCenter
8184 verticalAlignment: Image.AlignVCenter