17e817f8ab
FMX drops the maximised state when Windows minimises the form externally — reproducible in an empty FMX app. Windows then picks rcNormalPosition as the restore target before it animates, so every reactive correction measured (queued, inline in MINIMIZEEND, inside the restore's own WM_SIZE) landed after the frame was already growing: the state ended correct and the flash remained. Widen rcNormalPosition to the monitor work area while the window is down instead. FMX still restores to normal, except normal is now full-screen, so nothing grows; ReleaseNormalRect writes the real rectangle back once the window is maximised again, keeping the user's own restored size intact. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>