nvda
49b66db8 - Set foreground object rather than desktop object when initializing object cache (#14301)

Commit
3 years ago
Set foreground object rather than desktop object when initializing object cache (#14301) Summary of the issue: This regression was introduced in 2022.3.1 If NVDA starts on the lock screen (such as when starting your device), NVDA fails to cache the desktop object as the focus object, mouse object, etc. as it is from below the lock screen. This causes NVDA to not function correctly after sign-in, such as the inability to use nvda+q. Description of user facing changes Fixes severe regression with using NVDA after sign-in, if NVDA starts on the lock screen. Description of development approach Cache the foreground window when NVDA starts up, rather than the desktop object. This window should be accessible from the lock screen when NVDA starts on the lock screen. The setDesktopObject should continue to cached the desktop object as usual, as security code has not been implemented to prevent this from being set to insecure objects. Creates a generic function blockUntilConditionMet, to wait for the foreground window to be fetched successfully. Unit testing discovered a bug with the system test implementation of blockUntilConditionMet. This has now been fixed.
Author
Parents
Loading