nvda
3426905e - Fix nvda find title cancellation (PR #11632)

Commit
5 years ago
Fix nvda find title cancellation (PR #11632) Essentially this came down to a mismatch of the timing for when focus ancestors are set (in api.setFocusObject() called in doPreGainFocus) and when the lastQueuedFocusObject is set (in _trackFocusObject called via queueEvent). If the check for "cancelled" happened after a new focus event had been queued, but before that event was executed then the dialog object was no longer the lastQueuedFocusObject, but was not yet added to the focus ancestors. To resolve this mismatch, api.getFocusObject() is used to compare the object to NVDA's concept of the current focus, this is updated at the same time as focus ancestors. The state with inline functions was becoming confusing and hard to read, it has been replaced with a class.
Author
Parents
Loading