pill: a cancelled climb puts the app back
onReleased is the only thing that clears the pull's pose, and a MouseArea whose grab is taken away never gets one — it gets onCanceled, which had no handler. So a cancelled climb left `dragging` true, the pull progress set and the app posed at 0.6: shrunken, with nothing on screen to say why, and no way back except pulling the pill again to force a fresh press and release through. Never a commit. A gesture nobody finished only has to put the glass back.
This commit is contained in:
parent
5c44ea06d5
commit
4826574166
1 changed files with 21 additions and 0 deletions
|
|
@ -351,6 +351,27 @@ PanelWindow {
|
|||
rail.dragTravel = 0
|
||||
}
|
||||
|
||||
// A drag that ends without a release.
|
||||
//
|
||||
// `onReleased` is the only thing that clears the pose, and a MouseArea
|
||||
// whose grab is taken away never gets one — it gets this instead. So a
|
||||
// cancelled climb left `dragging` true, `zonePullProgress` set, and the
|
||||
// app posed at 0.6: shrunken, with nothing on screen to say why, and
|
||||
// no way back except pulling the pill again to force a fresh
|
||||
// press/release through. Casey, 2026-08-06: "It's been freezing up and
|
||||
// making me pull down the pill just so that it would resume full
|
||||
// state."
|
||||
//
|
||||
// Never a commit. A gesture nobody finished must not decide anything —
|
||||
// it only has to put the glass back the way it was.
|
||||
onCanceled: {
|
||||
if (!rail.dragging)
|
||||
return
|
||||
rail.dragging = false
|
||||
rail.dragTravel = 0
|
||||
endPull(false)
|
||||
}
|
||||
|
||||
onPositionChanged: mouse => {
|
||||
if (!rail.dragging)
|
||||
return
|
||||
|
|
|
|||
Loading…
Reference in a new issue