@@ -947,16 +947,17 @@ FocusScope {
947947 }
948948
949949 readonly property bool windowReady: clientAreaItem.surfaceInitialized
950− property int requestedWindowState: Mir.RestoredState
951950 onWindowReadyChanged: {
952951 if (windowReady) {
952+ var loadedMirState = WindowStateStorage.toMirState(windowStateSaver.loadedState);
953953 // need to apply the shell chrome policy on top the saved window state
954+ var policy;
954955 if (root.mode == "windowed") {
955− requestedWindowState = windowedFullscreenPolicy.applyPolicy(requestedWindowState, surface.shellChrome);
956+ policy = windowedFullscreenPolicy;
956957 } else {
957− requestedWindowState = stagedFullscreenPolicy.applyPolicy(requestedWindowState, surface.shellChrome);
958+ policy = stagedFullscreenPolicy
958959 }
959− window.requestState(requestedWindowState);
960+ window.requestState(policy.applyPolicy(loadedMirState, surface.shellChrome));
960961 }
961962 }
962963
@@ -971,7 +972,7 @@ FocusScope {
971972 windowedX = priv.focusedAppDelegate ? priv.focusedAppDelegate.windowedX + units.gu(3) : (normalZ - 1) * units.gu(3)
972973 windowedY = priv.focusedAppDelegate ? priv.focusedAppDelegate.windowedY + units.gu(3) : normalZ * units.gu(3)
973974 // Now load any saved state. This needs to happen *after* the cascading!
974− requestedWindowState = WindowStateStorage.toMirState(windowStateSaver.load());
975+ windowStateSaver.load();
975976
976977 updateQmlFocusFromMirSurfaceFocus();
977978