@@ -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() {
@@ -255,13 +262,6 @@ FocusScope {
255 interval: 1
262 interval: 1
256 property string nextState: ""
263 property string nextState: ""
257 onTriggered: {
264 onTriggered: {
258− if (root.lockedVisible && nextState == "") {
259− // Due to binding updates when switching between modes
260− // it could happen that our request to show will be overwritten
261− // with a hide request. Rewrite it when we know hiding is not allowed.
262− nextState = "visible"
265 // switching to an intermediate state here to make sure all the
265 // switching to an intermediate state here to make sure all the
266 // values are restored, even if we were already in the target state
266 // values are restored, even if we were already in the target state
267 root.state = "tmp"
267 root.state = "tmp"
@@ -380,8 +380,7 @@ FocusScope {
382 Keys.onEscapePressed: {
382 Keys.onEscapePressed: {
383− switchToNextState("");
383+ root.hide()
387 onDragDistanceChanged: {
386 onDragDistanceChanged: {