@@ -116,7 +116,14 @@ FocusScope {
116 if ((flags & ignoreHideIfMouseOverLauncher) && Utils.Functions.itemUnderMouse(panel)) {
116 if ((flags & ignoreHideIfMouseOverLauncher) && Utils.Functions.itemUnderMouse(panel)) {
119+ if (root.lockedVisible) {
120+ // Due to binding updates when switching between modes
121+ // it could happen that our request to show will be overwritten
122+ // with a hide request. Rewrite it when we know hiding is not allowed.
123+ switchToNextState("visible")
119− switchToNextState("")
125+ switchToNextState("")
122 function fadeOut() {
129 function fadeOut() {
@@ -254,13 +261,6 @@ FocusScope {
254 interval: 1
261 interval: 1
255 property string nextState: ""
262 property string nextState: ""
256 onTriggered: {
263 onTriggered: {
257− if (root.lockedVisible && nextState == "") {
258− // Due to binding updates when switching between modes
259− // it could happen that our request to show will be overwritten
260− // with a hide request. Rewrite it when we know hiding is not allowed.
261− nextState = "visible"
264 // switching to an intermediate state here to make sure all the
264 // switching to an intermediate state here to make sure all the
265 // values are restored, even if we were already in the target state
265 // values are restored, even if we were already in the target state
266 root.state = "tmp"
266 root.state = "tmp"
@@ -379,8 +379,7 @@ FocusScope {
381 Keys.onEscapePressed: {
381 Keys.onEscapePressed: {
382− switchToNextState("");
382+ root.hide()
386 onDragDistanceChanged: {
385 onDragDistanceChanged: {