Guard the FX-drain busy indicator against silent enum drift and cursor edge cases

Promote drainStateNow's switch to error-on-missing-case locally; set DWLP_MSGRESULT on WM_SETCURSOR; add an HTCLIENT guard; skip refreshBusyCursor during a live drag; mark the docked-dialog WM_SETCURSOR routing premise [verify - DAW].
This commit is contained in:
2026-08-21 15:14:55 -04:00
parent 052fbb0d52
commit bbdeba9dda
3 changed files with 39 additions and 3 deletions
+2 -1
View File
@@ -73,7 +73,8 @@ live in `shell/bank_ops`, a sibling directory, not here.
REAPER's, and the SDK exposes nothing host-wide. A global `SetSystemCursor` or a message
hook would reach further and is rejected — do not reintroduce either. `IDC_APPSTARTING`
is Windows-only (SWELL ships no equivalent), so on mac/Linux the readout is the whole
indicator.
indicator. `[verify — DAW]` whether REAPER's docker even routes `WM_SETCURSOR` to the
docked child dialog at all — the whole Windows half of this rests on that.
- **No hit-test geometry in untestable shell code.** Even when reusing a WDL piece
(e.g. a `vwnd` control for a long scroll list), layout/hit-test math stays in pure
CTest-covered modules — do not import a WDL control's retained-mode object model