Fix error in chooseNVDAObjectOverlayClasses #102
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
In A8M 4.1.1 with NVDA 2024.2, there are two errors in
chooseNVDAObjectOverlayClasses
:Error 1: in 6pad++ editor's edit field
This error occurs because
obj.parent.parent.name
isNone
Error 2: When locking the computer pressing
windows+L
This error occurs because not all
NVDAObject
s have an attributewindowClassName
; only the ones constructed from a real window (NVDAObjects.window.Window
) which are the vast majority have.Please remember this; I think I had already fixed such an issue in the past.
Fixes
Error 1
Also filter on Type
Error
in the except clauseError 2:
Instead of
obj.windowClassName
, usegetattr(obj, 'windowClassName', None)
instead. This allows to returnNone
when the attribute does not exist rather than raisingAttributeError
exception.