Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Prevent crash when attempting to select an out-of-bounds UIA text ran…
…ge (#7504) When attempting to select a text range from a different text buffer (such as a standard text range when in alt mode), conhost crashes. This PR checks for this case and returns `E_FAIL` instead, preventing this crash. ## PR Checklist * [x] Closes unfiled crash issue * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Passes manual test below * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx ## Validation Steps Performed Ran the following lines in the NVDA Python console (NVDA+control+z) before and after this PR, and observed that Conhost no longer crashes after the change: ``` Python console >>> # SSH to a remote Linux system >>> ti=nav.makeTextInfo("caret") >>> ti.move("line", -2) -2 >>> # Switch away from the NVDA Python console, and run Nano in conhost. Then: >>> ti.updateSelection() # Calls select() on the underlying UIA text range Traceback (most recent call last): File "<console>", line 1, in <module> File "NVDAObjects\UIA\__init__.pyc", line 790, in updateSelection File "comtypesMonkeyPatches.pyc", line 26, in __call__ _ctypes.COMError: (-2147220991, 'An event was unable to invoke any of the subscribers', (None, None, None, 0, None)) ```
- Loading branch information