on xenial help sign in
Improve showing launcher automatically

If the Panel is open and the Greeter is swiped away, the Panel was automatically dismissed by the Launcher appearing. Avoid this (in most cases) by making sure the Panel isn't visible at all before calling the Launcher. A warning was generated in the tests when we tried to check !greeter.active since greeter was null.

commita720096ec1e3c4551c85e9804e2e343ac80caec8 authorDalton Durst <dalton@ubports.com> dateTue 24 Dec 2019, 14:21 (7 years ago) parent91c7a07
1 file changed+4−3
qml/Shell.qml+4−3
qml/Shell.qml+4−3
@@ -132,7 +132,7 @@ StyledItem {
132132
133133 panel.indicators.hide();
134134 launcher.hide(launcher.ignoreHideIfMouseOverLauncher);
135− } else if (topLevelSurfaceList.count === 0 && !greeter.active && !wizard.active) {
135+ } else if (topLevelSurfaceList.count === 0 && greeter && !greeter.active && !wizard.active) {
136136 // Show the Launcher when there are no apps running
137137 stage.closeSpread();
138138 launcher.show();
@@ -403,8 +403,9 @@ StyledItem {
403403 launcher.toggleDrawer(false);
404404 greeterLoader.toggleDrawerAfterUnlock = false;
405405 }
406− // Show the launcher when there are no running apps
407− else if (topLevelSurfaceList.count < 1) {
406+ // Show the launcher when there are no running apps and the user
407+ // isn't operating the panel
408+ else if (topLevelSurfaceList.count < 1 && !panel.visible) {
408409 launcher.switchToNextState("visible")
409410 }
410411 }