on xenial help sign in
merged with unified
commitea06e11e5977b3864b08b10149458a4f46c918cb authorNick Dedekind <nick.dedekind@canonical.com> dateThu 20 Oct 2016, 16:38 (10 years ago) parentb108cea438d306
10 files changed+83−72
debian/changelog+12−5 debian/control+1−1 po/de.po+34−34 po/fr.po+5−5 qml/Components/InputMethod.qml+1−1 qml/Stage/DecoratedWindow.qml+4−16 qml/Stage/Spread/SpreadDelegateInputArea.qml+2−2 qml/Stage/Stage.qml+13−6 tests/qmltests/Stage/tst_PhoneStage.qml+5 tests/qmltests/Stage/tst_TabletStage.qml+6−2
debian/changelog+12−5
@@ -1,4 +1,13 @@
1−unity8 (8.14+16.10.20160914-0ubuntu1) yakkety; urgency=medium
1+unity8 (8.14+16.10.20160922-0ubuntu2) yakkety; urgency=medium
2+
3+ * debian/control:
4+ - Drop unity-scope-mediascanner2 to a Suggests rather than a Recommends,
5+ to ease our transition to main. It's already seeded directly in
6+ Touch, so this will only affect the Desktop variant of unity8.
7+
8+ -- Michael Terry <mterry@ubuntu.com> Mon, 03 Oct 2016 10:43:25 -0400
9+
10+unity8 (8.14+16.10.20160922-0ubuntu1) yakkety; urgency=medium
211
312 [ Albert Astals Cid ]
413 * LVWPH: update clipItem height when list height changes (LP:
@@ -46,14 +55,12 @@ unity8 (8.14+16.10.20160914-0ubuntu1) yakkety; urgency=medium
4655 the greeter.
4756
4857 [ Lukáš Tinkl ]
58+ * Implement edge maximizing (aka window snapping) (LP: #1602628)
4959 * On the PC platform (as opposed to running on $devices), use the
5060 "mute" action instead of silent mode
5161 * Respect Fitt's law wrt the window control buttons in panel (LP:
5262 #1611959)
5363 * Fix 2 failing color-related tests
54− * Implement edge maximizing (aka window snapping) (LP: #1602628,
55− #1611859)
56− * Implement moving windows by Alt + left mouse button
5764
5865 [ Marco Trevisan (Treviño) ]
5966 * Indicators, mocks: add fake indicators menuitem to populate mocks
@@ -75,7 +82,7 @@ unity8 (8.14+16.10.20160914-0ubuntu1) yakkety; urgency=medium
7582 * Update look of infographic a bit
7683 * Make infographic bubbles white even on the default wallpaper.
7784
78− -- Michał Sawicz <michal.sawicz@canonical.com> Wed, 14 Sep 2016 00:46:45 +0000
85+ -- Michał Sawicz <michal.sawicz@canonical.com> Thu, 22 Sep 2016 07:46:57 +0000
7986
8087unity8 (8.14+16.10.20160831.3-0ubuntu1) yakkety; urgency=medium
8188
debian/control+1−1
@@ -137,7 +137,7 @@ Recommends: indicator-keyboard,
137137 indicator-session,
138138 unity-greeter-session-broadcast,
139139 unity-scope-click,
140− unity-scope-mediascanner2,
140+Suggests: unity-scope-mediascanner2,
141141Breaks: indicator-network (<< 0.5.1+14.10.20141014),
142142 ubuntu-touch-session (<< 0.107),
143143 unity8-greeter (<< 7.89),
po/de.po+34−34
@@ -8,14 +8,14 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2016-09-22 07:46+0000\n"
11−"PO-Revision-Date: 2016-08-28 08:35+0000\n"
12−"Last-Translator: Torsten Franz <Unknown>\n"
11+"PO-Revision-Date: 2016-09-29 12:06+0000\n"
12+"Last-Translator: Matthias Seidel <matthias.seidel@hamburg.de>\n"
1313"Language-Team: German <de@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n != 1;\n"
18−"X-Launchpad-Export-Date: 2016-09-27 07:03+0000\n"
18+"X-Launchpad-Export-Date: 2016-09-30 06:18+0000\n"
1919"X-Generator: Launchpad (build 18204)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
@@ -131,7 +131,7 @@ msgstr "Super + Leertaste"
131131
132132#: qml/Components/KeyboardShortcutsOverlay.qml:93
133133msgid "Switches to next keyboard layout."
134−msgstr "Zum nächsten Tastaturlayout umschalten"
134+msgstr "Wechselt zur nächsten Tastaturbelegung."
135135
136136#: qml/Components/KeyboardShortcutsOverlay.qml:101
137137msgid "Super + Shift + Space"
@@ -139,7 +139,7 @@ msgstr "Super + Hochstell + Leertaste"
139139
140140#: qml/Components/KeyboardShortcutsOverlay.qml:106
141141msgid "Switches to previous keyboard layout."
142−msgstr "Zum vorherigen Tastaturlayout umschalten"
142+msgstr "Wechselt zur vorherigen Tastaturbelegung."
143143
144144#: qml/Components/KeyboardShortcutsOverlay.qml:118
145145msgid "Launcher"
@@ -469,11 +469,11 @@ msgstr "Anmelden"
469469
470470#: qml/Greeter/NarrowView.qml:252
471471msgid "Emergency"
472−msgstr ""
472+msgstr "Notruf"
473473
474474#: qml/Greeter/SessionsList.qml:122
475475msgid "Select desktop environment"
476−msgstr ""
476+msgstr "Arbeitsumgebung auswählen"
477477
478478#: qml/Notifications/NotificationMenuItemFactory.qml:124
479479msgid "Show password"
@@ -532,7 +532,7 @@ msgstr "Wird heruntergeladen"
532532
533533#: qml/Panel/Indicators/MenuItemFactory.qml:917
534534msgid "Paused, tap to resume"
535−msgstr "Pausiert, tippen Sie zum fortsetzen"
535+msgstr "Pausiert, tippen zum Fortsetzen"
536536
537537#: qml/Panel/Indicators/MenuItemFactory.qml:919
538538msgid "Canceled"
@@ -544,7 +544,7 @@ msgstr "Erledigt"
544544
545545#: qml/Panel/Indicators/MenuItemFactory.qml:923
546546msgid "Failed, tap to retry"
547−msgstr "Fehlgeschlagen, tippen Sie zum Wiederholen"
547+msgstr "Fehlgeschlagen, tippen zum Wiederholen"
548548
549549#: qml/Panel/Indicators/MessageMenuItemFactory.qml:151
550550#: qml/Panel/Indicators/MessageMenuItemFactory.qml:210
@@ -620,7 +620,7 @@ msgstr "Tastatursprache"
620620
621621#: qml/Wizard/Pages/20-keyboard.qml:93
622622msgid "Keyboard layout"
623−msgstr "Tastaturlayout"
623+msgstr "Tastaturbelegung"
624624
625625#: qml/Wizard/Pages/20-keyboard.qml:152 qml/Wizard/Pages/30-wifi.qml:207
626626#: qml/Wizard/Pages/60-account.qml:65 qml/Wizard/Pages/77-system-update.qml:152
@@ -659,7 +659,7 @@ msgstr ""
659659#: qml/Wizard/Pages/40-location.qml:105
660660#, qt-format
661661msgid "By selecting this option you agree to the Nokia HERE %1."
662−msgstr "Mit dem Auswählen dieser Option akzeptieren Sie die Nokia HERE %1."
662+msgstr "Durch Auswahl dieser Option akzeptieren Sie die Nokia-HERE-%1."
663663
664664#: qml/Wizard/Pages/40-location.qml:106
665665msgctxt "part of: Nokia HERE terms and conditions"
@@ -676,7 +676,7 @@ msgstr "Meinen Standort nicht verwenden"
676676
677677#: qml/Wizard/Pages/40-location.qml:260
678678msgid "You can change it later in System Settings."
679−msgstr "Dies kann später in den Systemeinstellungen geändert werden."
679+msgstr "Sie können das später in den Systemeinstellungen ändern."
680680
681681#: qml/Wizard/Pages/50-timezone.qml:30
682682msgid "Time Zone"
@@ -746,7 +746,7 @@ msgstr ""
746746#: qml/Wizard/Pages/77-system-update.qml:76
747747msgctxt "string identifying name of the update"
748748msgid "Ubuntu system"
749−msgstr "Ubuntu System"
749+msgstr "Ubuntu-System"
750750
751751#: qml/Wizard/Pages/77-system-update.qml:83
752752#, qt-format
@@ -756,7 +756,7 @@ msgstr "Version %1"
756756
757757#: qml/Wizard/Pages/77-system-update.qml:102
758758msgid "This could take a few minutes..."
759−msgstr "Dies kann ein paar Minuten dauern …"
759+msgstr "Das kann ein paar Minuten dauern …"
760760
761761#: qml/Wizard/Pages/77-system-update.qml:116
762762msgid "Install and restart now"
@@ -790,9 +790,9 @@ msgid ""
790790"collects information about nearby cell towers and Wi-Fi hotspots around your "
791791"current location whenever your position is being found."
792792msgstr ""
793−"Um die Standortbestimmung zu ermöglichen und zu verbessern, sammelt HERE "
794−"Informationen über nahegelegene Netzwerkstationen und WLAN-Hotspots in der "
795−"Umgebung, sobald eine Position erfasst wurde."
793+"Zur Standortbestimmung und Verbesserung der Qualität dieser, sammelt HERE "
794+"Informationen über Netzwerkstationen und WLAN-Zugangspunkte in der Umgebung, "
795+"sobald eine Position erfasst wurde."
796796
797797#: qml/Wizard/Pages/here-terms.qml:93
798798msgid ""
@@ -805,7 +805,7 @@ msgstr ""
805805#: qml/Wizard/Pages/here-terms.qml:106
806806#, qt-format
807807msgid "By continuing, you agree to the HERE platform %1 and %2."
808−msgstr "Wenn Sie fortfahren, stimmen Sie mit den HERE %1 und %2 überein."
808+msgstr "Wenn Sie fortfahren, stimmen Sie den HERE-%1 und -%2 zu."
809809
810810#: qml/Wizard/Pages/here-terms.qml:107
811811msgid "Service Terms"
@@ -856,15 +856,15 @@ msgstr "PIN muss 4 Ziffern lang sein"
856856
857857#: qml/Wizard/Pages/password-set.qml:31
858858msgid "Lock Screen Password"
859−msgstr "Sperrbildschirm-Passwort"
859+msgstr "Sperrbildschirmpasswort"
860860
861861#: qml/Wizard/Pages/password-set.qml:62
862862msgid "Enter at least 8 characters"
863−msgstr "Geben Sie mindestens 8 Zeichen ein"
863+msgstr "Bitte mindestens 8 Zeichen eingeben"
864864
865865#: qml/Wizard/Pages/password-set.qml:74
866866msgid "Choose password"
867−msgstr "Wählen Sie ein Passwort"
867+msgstr "Passwort auswählen"
868868
869869#: qml/Wizard/Pages/password-set.qml:104
870870msgid "Confirm password"
@@ -1025,9 +1025,6 @@ msgstr "Sehr schwaches Passwort"
10251025#~ msgid "Sorry, incorrect passcode."
10261026#~ msgstr "Falsche PIN"
10271027
1028−#~ msgid "Sorry, incorrect passphrase"
1029−#~ msgstr "Das Passwort ist nicht korrekt"
1030−
10311028#, qt-format
10321029#~ msgid "Sorry, incorrect %1"
10331030#~ msgstr "%1 falsch"
@@ -1059,9 +1056,6 @@ msgstr "Sehr schwaches Passwort"
10591056#~ msgid "Manage Scopes"
10601057#~ msgstr "Filter verwalten"
10611058
1062−#~ msgid "Sorry, incorrect passphrase."
1063−#~ msgstr "Entschuldigung, falsches Passwort."
1064−
10651059#~ msgid "Please re-enter"
10661060#~ msgstr "Bitte erneut eingeben"
10671061
@@ -1103,13 +1097,6 @@ msgstr "Sehr schwaches Passwort"
11031097#~ msgstr ""
11041098#~ "Sie können Ihre Meinung später in den <b>Systemeinstellungen</b> ändern."
11051099
1106−#~ msgid ""
1107−#~ "By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
1108−#~ "conditions</a>."
1109−#~ msgstr ""
1110−#~ "Mit dem Auswählen dieser Option stimmen Sie den Nokia HERE <a "
1111−#~ "href='#'>allgemeinen Geschäftsbedingungen</a> zu."
1112−
11131100#~ msgid "Not at all"
11141101#~ msgstr "Gar nicht"
11151102
@@ -1331,3 +1318,16 @@ msgstr "Sehr schwaches Passwort"
13311318#~ msgid "Swipe from the top edge to open the notification bar"
13321319#~ msgstr ""
13331320#~ "Vom oberen Rand her wischen, um die Benachrichtigungsleiste zu öffnen"
1321+
1322+#~ msgid "Sorry, incorrect passphrase"
1323+#~ msgstr "Falsche Passphrase."
1324+
1325+#~ msgid "Sorry, incorrect passphrase."
1326+#~ msgstr "Falsche Passphrase."
1327+
1328+#~ msgid ""
1329+#~ "By selecting this option you agree to the Nokia HERE <a href='#'>terms and "
1330+#~ "conditions</a>."
1331+#~ msgstr ""
1332+#~ "Mit dem Auswählen dieser Option stimmen Sie den <a href='#'>allgemeinen "
1333+#~ "Geschäftsbedingungen</a> von HERE zu."
po/fr.po+5−5
@@ -8,14 +8,14 @@ msgstr ""
88"Project-Id-Version: unity\n"
99"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
1010"POT-Creation-Date: 2016-09-22 07:46+0000\n"
11−"PO-Revision-Date: 2016-08-30 15:06+0000\n"
12−"Last-Translator: Jean-Marc <Unknown>\n"
11+"PO-Revision-Date: 2016-10-02 08:06+0000\n"
12+"Last-Translator: Olivier Febwin <febwin@free.fr>\n"
1313"Language-Team: French <fr@li.org>\n"
1414"MIME-Version: 1.0\n"
1515"Content-Type: text/plain; charset=UTF-8\n"
1616"Content-Transfer-Encoding: 8bit\n"
1717"Plural-Forms: nplurals=2; plural=n > 1;\n"
18−"X-Launchpad-Export-Date: 2016-09-27 07:03+0000\n"
18+"X-Launchpad-Export-Date: 2016-10-03 06:18+0000\n"
1919"X-Generator: Launchpad (build 18204)\n"
2020
2121#: plugins/LightDM/Greeter.cpp:123
@@ -471,11 +471,11 @@ msgstr "Connexion"
471471
472472#: qml/Greeter/NarrowView.qml:252
473473msgid "Emergency"
474−msgstr ""
474+msgstr "Urgence"
475475
476476#: qml/Greeter/SessionsList.qml:122
477477msgid "Select desktop environment"
478−msgstr ""
478+msgstr "Sélectionner l'environnement de bureau"
479479
480480#: qml/Notifications/NotificationMenuItemFactory.qml:124
481481msgid "Show password"
qml/Components/InputMethod.qml+1−1
@@ -21,7 +21,7 @@ import Ubuntu.Gestures 0.1
2121Item {
2222 id: root
2323
24− readonly property rect visibleRect: surfaceItem.surface ? surfaceItem.surface.inputBounds : Qt.rect(0, 0, 0, 0)
24+ readonly property rect visibleRect: surfaceItem.surface && visible ? surfaceItem.surface.inputBounds : Qt.rect(0, 0, 0, 0)
2525
2626 MirSurfaceItem {
2727 id: surfaceItem
qml/Stage/DecoratedWindow.qml+4−16
@@ -102,16 +102,15 @@ FocusScope {
102102 },
103103 State {
104104 name: "normalSuspended"; when: root.scaleToPreviewProgress <= 0 && root.application.state !== ApplicationInfoInterface.Running
105+ extend: "normal"
105106 PropertyChanges {
106107 target: root
107108 implicitWidth: counterRotate ? applicationWindow.requestedHeight : applicationWindow.requestedWidth
108109 implicitHeight: root.decorationHeight + (counterRotate ? applicationWindow.requestedWidth: applicationWindow.requestedHeight)
109110 }
110−// PropertyChanges { target: applicationWindow; anchors.topMargin: (root.height - applicationWindow.implicitHeight) / 2 }
111−// PropertyChanges { target: dropShadow; anchors.topMargin: (root.height - applicationWindow.implicitHeight) / 2 }
112111 },
113112 State {
114− name: "preview"; when: root.scaleToPreviewProgress > 0 && root.application.state === ApplicationInfoInterface.Running
113+ name: "preview"; when: root.scaleToPreviewProgress > 0
115114 PropertyChanges {
116115 target: root
117116 implicitWidth: MathUtils.linearAnimation(0, 1, applicationWindow.oldRequestedWidth, root.scaleToPreviewSize, root.scaleToPreviewProgress)
@@ -125,16 +124,6 @@ FocusScope {
125124 height: MathUtils.linearAnimation(0, 1, applicationWindow.oldRequestedHeight, applicationWindow.minSize, root.scaleToPreviewProgress)
126125 itemScale: root.implicitWidth / width
127126 }
128− },
129− State {
130− name: "previewSuspended"; when: root.scaleToPreviewProgress > 0 && root.application.state !== ApplicationInfoInterface.Running
131− extend: "preview"
132− PropertyChanges { target: applicationWindow;
133− anchors.verticalCenterOffset: applicationWindow.implicitHeight < applicationWindow.height ?
134− (root.height / applicationWindow.itemScale - applicationWindow.implicitHeight) / 2
135− : (root.height / applicationWindow.itemScale - applicationWindow.height) / 2
136− }
137−// PropertyChanges { target: dropShadow; anchors.topMargin: (root.height - root.implicitHeight) / 2 * (1 - root.scaleToPreviewProgress) }
138127 }
139128 ]
140129 }
@@ -164,8 +153,8 @@ FocusScope {
164153 ApplicationWindow {
165154 id: applicationWindow
166155 objectName: "appWindow"
167− anchors.verticalCenter: parent.verticalCenter
168− anchors.verticalCenterOffset: (root.decorationHeight * Math.min(1, root.showDecoration)) / 2
156+ anchors.top: parent.top
157+ anchors.topMargin: root.decorationHeight * Math.min(1, root.showDecoration)
169158 anchors.left: parent.left
170159 width: implicitWidth
171160 height: implicitHeight
@@ -201,7 +190,6 @@ FocusScope {
201190 angle: rotationAngle
202191 },
203192 Scale {
204− origin.y: (applicationWindow.implicitHeight < applicationWindow.height ? applicationWindow.implicitHeight : applicationWindow.height) / 2
205193 xScale: applicationWindow.itemScale
206194 yScale: applicationWindow.itemScale
207195 }
qml/Stage/Spread/SpreadDelegateInputArea.qml+2−2
@@ -47,7 +47,7 @@ Item {
4747
4848 function pushDragEvent(event) {
4949 var currentTime = __dateTime.getCurrentTimeMs()
50− dragEvents.push([currentTime, event.x, event.y, getEventSpeed(currentTime, event)])
50+ dragEvents.push([currentTime, event.x - event.startX, event.y - event.startY, getEventSpeed(currentTime, event)])
5151 cullOldDragEvents(currentTime)
5252 updateSpeed()
5353 }
@@ -77,7 +77,7 @@ Item {
7777 if (dragEvents.length != 0) {
7878 var lastDrag = dragEvents[dragEvents.length-1]
7979 var duration = Math.max(1, currentTime - lastDrag[0])
80− return (event.y - lastDrag[2]) / duration
80+ return (event.y - event.startY - lastDrag[2]) / duration
8181 } else {
8282 return 0
8383 }
qml/Stage/Stage.qml+13−6
@@ -228,8 +228,9 @@ FocusScope {
228228 }
229229 }
230230
231− readonly property bool sideStageEnabled: root.shellOrientation == Qt.LandscapeOrientation ||
232− root.shellOrientation == Qt.InvertedLandscapeOrientation
231+ readonly property bool sideStageEnabled: root.mode === "stagedWithSideStage" &&
232+ (root.shellOrientation == Qt.LandscapeOrientation ||
233+ root.shellOrientation == Qt.InvertedLandscapeOrientation)
233234
234235 property var mainStageDelegate: null
235236 property var sideStageDelegate: null
@@ -263,6 +264,12 @@ FocusScope {
263264
264265 for (var i = 0; i < appRepeater.count && (!choseMainStage || !choseSideStage); ++i) {
265266 var appDelegate = appRepeater.itemAt(i);
267+ if (!appDelegate) {
268+ // This might happen during startup phase... If the delegate appears and claims focus
269+ // things are updated and appRepeater.itemAt(x) still returns null while appRepeater.count >= x
270+ // Lets just skip it, on startup it will be generated at a later point too...
271+ continue;
272+ }
266273 if (sideStage.shown && appDelegate.stage == ApplicationInfoInterface.SideStage
267274 && !choseSideStage) {
268275 priv.sideStageDelegate = appDelegate
@@ -927,7 +934,7 @@ FocusScope {
927934 rightEdgeFocusAnimation.targetX = appDelegate.stage == ApplicationInfoInterface.SideStage ? sideStage.x : 0
928935 rightEdgeFocusAnimation.start()
929936 }
930− } else if (state == "windowedRightEdge") {
937+ } else if (state == "windowedRightEdge" || state == "windowed") {
931938 claimFocus();
932939 } else {
933940 focusAnimation.start()
@@ -1397,8 +1404,8 @@ FocusScope {
13971404 }
13981405 },
13991406 Transition {
1400− from: "normal,maximized,maximizedLeft,maximizedRight,maximizedTop,maximizedBottom,maximizedTopLeft,maximizedTopRight,maximizedBottomLeft,maximizedBottomRight,maximizedHorizontally,maximizedVertically,fullscreen"
1401− to: "normal,maximized,maximizedLeft,maximizedRight,maximizedTop,maximizedBottom,maximizedTopLeft,maximizedTopRight,maximizedBottomLeft,maximizedBottomRight,maximizedHorizontally,maximizedVertically,fullscreen"
1407+ from: "normal,restored,maximized,maximizedLeft,maximizedRight,maximizedTop,maximizedBottom,maximizedTopLeft,maximizedTopRight,maximizedBottomLeft,maximizedBottomRight,maximizedHorizontally,maximizedVertically,fullscreen"
1408+ to: "normal,restored,maximized,maximizedLeft,maximizedRight,maximizedTop,maximizedBottom,maximizedTopLeft,maximizedTopRight,maximizedBottomLeft,maximizedBottomRight,maximizedHorizontally,maximizedVertically,fullscreen"
14021409 enabled: appDelegate.animationsEnabled
14031410 SequentialAnimation {
14041411 PropertyAction { target: appDelegate; property: "visuallyMinimized" }
@@ -1583,7 +1590,7 @@ FocusScope {
15831590 anchors { left: parent.left; top: parent.top; leftMargin: -height / 2; topMargin: -height / 2 + spreadMaths.closeIconOffset }
15841591 source: "graphics/window-close.svg"
15851592 readonly property var mousePos: hoverMouseArea.mapToItem(appDelegate, hoverMouseArea.mouseX, hoverMouseArea.mouseY)
1586− visible: !appDelegate.isDash
1593+ visible: !appDelegate.isDash && dragArea.distance == 0
15871594 && index == spreadItem.highlightedIndex
15881595 && mousePos.y < (decoratedWindow.height / 3)
15891596 && mousePos.y > -units.gu(4)
tests/qmltests/Stage/tst_PhoneStage.qml+5
@@ -158,6 +158,11 @@ Item {
158158 true /* beginTouch */, true /* endTouch */, units.gu(10), 50);
159159
160160 tryCompare(stage, "state", "spread");
161+ // Make sure all the transitions have finished
162+ var appRepeater = findChild(stage, "appRepeater");
163+ for (var i = 0; i < appRepeater.count; i++) {
164+ waitUntilTransitionsEnd(appRepeater.itemAt(i));
165+ }
161166 waitForRendering(stage);
162167 }
163168
tests/qmltests/Stage/tst_TabletStage.qml+6−2
@@ -591,7 +591,7 @@ Rectangle {
591591 var appDelegate = findChild(stage, "appDelegate_" + webbrowserSurfaceId);
592592 verify(appDelegate);
593593 waitForRendering(stage);
594− compare(appDelegate.stage, ApplicationInfoInterface.MainStage);
594+ tryCompare(appDelegate, "stage", ApplicationInfoInterface.MainStage);
595595
596596 dragToSideStage(webbrowserSurfaceId);
597597
@@ -601,6 +601,10 @@ Rectangle {
601601 function test_unloadSideStageByDraggingFromSideStage() {
602602 sideStage.showNow();
603603 WindowStateStorage.saveStage(webbrowserCheckBox.appId, ApplicationInfoInterface.SideStage)
604+ // WindowStateStorage is async... Lets wait for it to be fully processed...
605+ tryCompareFunction(function() {
606+ return WindowStateStorage.getStage(webbrowserCheckBox.appId, ApplicationInfoInterface.MainStage) === ApplicationInfoInterface.SideStage
607+ }, true);
604608 var webbrowserSurfaceId = topSurfaceList.nextId;
605609 webbrowserCheckBox.checked = true;
606610 waitUntilAppSurfaceShowsUp(webbrowserSurfaceId);
@@ -608,7 +612,7 @@ Rectangle {
608612 var appDelegate = findChild(stage, "appDelegate_" + webbrowserSurfaceId);
609613 verify(appDelegate);
610614 waitForRendering(stage);
611− compare(appDelegate.stage, ApplicationInfoInterface.SideStage);
615+ tryCompare(appDelegate, "stage", ApplicationInfoInterface.SideStage);
612616
613617 dragToMainStage(webbrowserSurfaceId);
614618