Skip to content

Error reported when opening lock screen from virtual buffer with focus #18861

@LeonarddeR

Description

@LeonarddeR

Steps to reproduce:

  1. Open Firefox
  2. Ensure browse mode is enabled and has focus
  3. Press windows+l

Actual behavior:

IO - inputCore.InputManager.executeGesture (15:50:52.418) - winInputHook (27864):
Input: kb(laptop):windows+l
IO - speech.speech.speak (15:50:52.527) - MainThread (27984):
Speaking ['Secure Desktop']
DEBUGWARNING - utils.security._isObjectBelowLockScreenCheckZOrder (15:50:52.553) - MainThread (27984):
Couldn't determine lock screen and NVDA object relative z-order
Traceback (most recent call last):
  File "utils\security.pyc", line 261, in _isObjectBelowLockScreenCheckZOrder
  File "utils\security.pyc", line 324, in _isWindowBelowWindowMatchesCond
utils.security._UnexpectedWindowCountError: Windows found
 - window 1 indexes: [487] (expects len 1)
 - window 2 index: None

DEBUGWARNING - utils.security._isObjectBelowLockScreenCheckZOrder (15:50:52.568) - MainThread (27984):
Couldn't determine lock screen and NVDA object relative z-order
Traceback (most recent call last):
  File "utils\security.pyc", line 261, in _isObjectBelowLockScreenCheckZOrder
  File "utils\security.pyc", line 324, in _isWindowBelowWindowMatchesCond
utils.security._UnexpectedWindowCountError: Windows found
 - window 1 indexes: [487] (expects len 1)
 - window 2 index: None

INFO - _remoteClient.secureDesktop.SecureDesktopHandler._onSecureDesktopChange (15:50:52.751) - MainThread (27984):
Secure desktop state changed: entering
WARNING - _remoteClient.secureDesktop.SecureDesktopHandler.enterSecureDesktop (15:50:52.751) - MainThread (27984):
No follower session connected, not entering secure desktop.
ERROR - utils.security.objectBelowLockScreenAndWindowsIsLocked (15:50:52.802) - MainThread (27984):
Traceback (most recent call last):
  File "utils\security.pyc", line 168, in objectBelowLockScreenAndWindowsIsLocked
AttributeError: 'Gecko_ia2' object has no attribute 'isBelowLockScreen'

Expected behavior:

No error

Additional context

I've seen similar errors when choosing the "I forgot my PIN" option from the logon screen.

A quick solution could be adapting utils.security.objectBelowLockScreenAndWindowsIsLocked so that it support tree interceptor objects, but I don't understand why tree interceptors are passed to this function in the first place, since a tree interceptor can not have focus.

System configuration

NVDA installed/portable/running from source:

Installed

NVDA version:

2025.3beta3

Windows version:

Windows 11 25h2, but also seen on 24h2

Name and version of other software in use when reproducing the issue:

Firefox 142.0.1

Other questions

Does the issue still occur after restarting your computer?

Yes

Have you tried any other versions of NVDA? If so, please report their behaviors.

Yes, also happens on recent alpha versions

If NVDA add-ons are disabled, is your problem still occurring?

Yes

Does the issue still occur after you run the COM Registration Fixing Tool in NVDA's tools menu?

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    p4https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions