on xenial help sign in
Loosely compare state value with the Mir enum

For whatever reason, value (or model.window.state) are not the same as the Mir::State enum we're comparing against... at least on armhf and arm64. This means that none of the functionality to visibly change state was being called. By loosely comparing we get the correct behavior.

commitaf83d0aeffd62632a1cf5d914ce69a10e150ff0a authorDalton Durst <dalton@ubports.com> dateThu 23 May 2019, 15:27 (7 years ago) parent840ffe7
1 file changed+12−12
qml/Stage/Stage.qml+12−12
qml/Stage/Stage.qml+12−12
@@ -967,34 +967,34 @@ FocusScope {
967967 appDelegate.activate();
968968 }
969969 onStateChanged: {
970− if (model.window.state === Mir.MinimizedState) {
970+ if (value == Mir.MinimizedState) {
971971 appDelegate.minimize();
972− } else if (model.window.state === Mir.MaximizedState) {
972+ } else if (value == Mir.MaximizedState) {
973973 appDelegate.maximize();
974− } else if (model.window.state === Mir.VertMaximizedState) {
974+ } else if (value == Mir.VertMaximizedState) {
975975 appDelegate.maximizeVertically();
976− } else if (model.window.state === Mir.HorizMaximizedState) {
976+ } else if (value == Mir.HorizMaximizedState) {
977977 appDelegate.maximizeHorizontally();
978− } else if (model.window.state === Mir.MaximizedLeftState) {
978+ } else if (value == Mir.MaximizedLeftState) {
979979 appDelegate.maximizeLeft();
980− } else if (model.window.state === Mir.MaximizedRightState) {
980+ } else if (value == Mir.MaximizedRightState) {
981981 appDelegate.maximizeRight();
982− } else if (model.window.state === Mir.MaximizedTopLeftState) {
982+ } else if (value == Mir.MaximizedTopLeftState) {
983983 appDelegate.maximizeTopLeft();
984− } else if (model.window.state === Mir.MaximizedTopRightState) {
984+ } else if (value == Mir.MaximizedTopRightState) {
985985 appDelegate.maximizeTopRight();
986− } else if (model.window.state === Mir.MaximizedBottomLeftState) {
986+ } else if (value == Mir.MaximizedBottomLeftState) {
987987 appDelegate.maximizeBottomLeft();
988− } else if (model.window.state === Mir.MaximizedBottomRightState) {
988+ } else if (value == Mir.MaximizedBottomRightState) {
989989 appDelegate.maximizeBottomRight();
990− } else if (model.window.state === Mir.RestoredState) {
990+ } else if (value == Mir.RestoredState) {
991991 if (appDelegate.fullscreen && appDelegate.prevWindowState != WindowStateStorage.WindowStateRestored
992992 && appDelegate.prevWindowState != WindowStateStorage.WindowStateNormal) {
993993 model.window.requestState(WindowStateStorage.toMirState(appDelegate.prevWindowState));
994994 } else {
995995 appDelegate.restore();
996996 }
997− } else if (model.window.state === Mir.FullscreenState) {
997+ } else if (value == Mir.FullscreenState) {
998998 appDelegate.prevWindowState = appDelegate.windowState;
999999 appDelegate.windowState = WindowStateStorage.WindowStateFullscreen;
10001000 }