Files
RemSound/src
EdnunpandClaude Fable 5 d09c47432f Dialog-focus sweep: route every background-reachable dialog through ForegroundDialog
Ed flagged this as recurring. Swept all ShowDialog call sites and fixed the ones that
can appear while RemSound is minimised in the tray (a plain ShowDialog opens BEHIND
everything there — no foreground focus, NVDA can't find it):

- Quick profile switch (QuickProfileSwitchDialog): opened by a GLOBAL hotkey, so the
  app is usually minimised when it fires. Was using an ad-hoc SetForegroundWindow that
  Windows blocks from a background process (only flashes the taskbar). Now via
  ForegroundDialog; deleted the weak BringToForeground + its P/Invoke.
- Close-time unsaved-changes prompt (OnFormClosing): fires from tray -> Exit and OS
  shutdown while minimised. Now via ForegroundDialog. (Also covers the tray profile-
  switch, which routes through the same form-close path.)
- (Service-profile dialog was fixed in the previous commit.)

Verified the rest are safe: startup notices, update notices, the service/mic/Realtek/
About warnings and the password dialogs already use ForegroundDialog; every other
ShowDialog(this) is menu- or button-driven with the app already focused (Preferences,
EQ band, rename, recording settings, profile picker, hotkey capture nested in the
menu-driven shortcuts dialog). Recorded the rule in memory so it stops recurring.

Gate 71/71 + 7 relay tests; 0 warnings.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 12:40:34 +01:00
..