Clear stale hover on capture-loss and Alt-delete; derive gutter test via chromeRects

This commit is contained in:
2026-07-30 10:39:27 -04:00
parent 9812690b96
commit e89568c1a8
5 changed files with 26 additions and 7 deletions
+4 -1
View File
@@ -82,7 +82,10 @@ void ReaSamplerEditor::onMouseUp(int x, int y) {
// hover_ is deliberately not re-resolved during a drag (see resolveHover's caller), so it
// still names wherever the drag started. Re-resolve now against the release position, for
// every drag kind — otherwise the next paint latches a stale hover (wrong note name/tooltip,
// wrong control outline) until the next WM_MOUSEMOVE.
// wrong control outline) until the next WM_MOUSEMOVE. This resolve runs before the release
// branches below can delete or relocate the hovered element; a future branch that does so
// must clear hover_ itself afterwards (as the curve drag-off delete does below) rather than
// rely on this resolve, which reflects pre-mutation state.
resolveHover(x, y);
// A scrollbar drag is transient UI (no parameter change), and the processor-side knobs
// (the preview-velocity -2 sentinel, voice count, master gain) are per-instance settings