Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
7571: do not activate terminal window upon settings modificaion (#7887)
Took this as an easy starter. The method IslandWindow::SetAlwaysOnTop is triggered once terminal settings are reloaded (in TerminalPage::_RefreshUIForSettingsReload flow). This method calls SetWindowPos without SWP_NOACTIVATE. As a result the window gets activated, the focus is set and the cursor starts blinking. Added SWP_NOACTIVATE in all SetWindowPos calls from IslandWindow and NoClientIslandWindow (where it was missing). Please let me know if this is an overkill - it is not required to fix the issue, however seems a good practice, that might help if we decide to apply more settings immediately. ## Validation Steps Performed * Only manual testing - please guide me to the relevant UT framework, if exists. * Trying to reproduce this with VS attached doesn't work - the window gets the focus in any case. * Tested as a standalone application, by modifying different settings (and comparing the results before and after the fix). * Checked with Spy++ that no WM_ACTIVATE / WM_SETFOCUS is thrown upon settings modification * Applied terminal resizing, toggling full screen and focus mode to check no regression was introduced. Closes #7571
- Loading branch information