josephsl / wintenApps

Windows App Essentials NVDA add-on
GNU General Public License v2.0
24 stars 9 forks source link

Calculator: "index out of range" traceback when using portable NVDA with Calculator compact overlay on #84

Closed josephsl closed 1 year ago

josephsl commented 1 year ago

Hi,

Consider the following: a user is using Calculator with compact overlay on (Alt+up arrow from standard calculator) with a portable copy of NVDA + the add-on installed. Whenever calculations are entered, NVDA will say "inde out of range" in its log, pointing to a line in UIA notification event handler where NVDA attempts to locate the result element.

Technical: for some reason, object traversal does not work properly in Calculator compact overlay. UIA notification event looks for an element with the class name of "LandmarTarget" via object traversal, but this fails if compact overlay is on as the children cannot be fetched.

Solution: use UIA's own tree traversal method to locate result element (class name: LadnmarkTarget). This works with both compact overlay on and off and across instlaled versus portable NVDA. This will be presented to NV Access as a pul request.

Thanks.

josephsl commented 1 year ago

To be resolved in add-on version 23.04.