Skip to content

Error when disabling screen curtain and reenabling Magnifier #20518

Description

@CyrilleB79

I've had the following error which is worth mentioning for various reasons.
This error occurred only once.

Steps to reproduce

  • Start Magnifier
  • Start screen curtain (NVDA+control+F1)
  • Later, exit screen curtain (NVDA+control+F1 again)

Actual behavior

Screen curtain is disabled, but:

  • NVDA wrongly says "Could not disable screen curtain"
  • NVDA says "Re-enabling magnifier" (strangely, these 2 output speech are logged in the wrong order)
  • But the Magnifier is not actually restarted
  • An error is logged, traced to screen curtain re-enabling script.

Expected behavior

Screen curtain is disabled and:

  • NVDA should say "Screen curtain disabled" since it is actually
  • NVDA should either:
    1. Says "Re-enabling magnifier" and actually reenable it
    2. Or fail to re-enable Magnifier due to a Magnifier error and:
      • log this error, only at magnifier,level, not including the whole screen curtain script
      • say "Could not re-enable Magnifier"

NVDA logs, crash dumps and other attachments

IO - inputCore.executeGesture (22:57:36.688) - winInputHook (13884):
Input: kb(desktop):control+NVDA+escape
DEBUG - screenCurtain._screenCurtain.ScreenCurtain.disable (22:57:36.689) - MainThread (5208):
Disabling ScreenCurtain
IO - speech.speech.speak (22:57:36.728) - MainThread (5208):
Speaking ['Réactivation de la loupe']
ERROR - globalCommands.GlobalCommands.script_toggleScreenCurtain (22:57:36.731) - MainThread (5208):
Screen curtain termination error
Traceback (most recent call last):
  File "globalCommands.pyc", line 4949, in script_toggleScreenCurtain
  File "screenCurtain\_screenCurtain.pyc", line 267, in disable
  File "_magnifier\magnifier.pyc", line 304, in onScreenCurtainDisabled
  File "_magnifier\fullscreenMagnifier.pyc", line 64, in _startMagnifier
  File "_magnifier\magnifier.pyc", line 199, in _startMagnifier
  File "_magnifier\utils\focusManager.pyc", line 68, in getCurrentFocusCoordinates
  File "_magnifier\utils\focusManager.pyc", line 210, in _getReviewPosition
  File "api.pyc", line 242, in getReviewPosition
  File "review.pyc", line 107, in getPositionForCurrentMode
  File "review.pyc", line 32, in getObjectPosition
  File "documentBase.pyc", line 76, in makeTextInfo
  File "NVDAObjects\IAccessible\ia2TextMozilla.pyc", line 149, in __init__
  File "NVDAObjects\IAccessible\ia2TextMozilla.pyc", line 274, in _findContentDescendant
_ctypes.COMError: (-2147023174, 'Le serveur RPC n’est pas disponible.', (None, None, None, 0, None))
IO - speech.speech.speak (22:57:36.753) - MainThread (5208):
Speaking ["Impossible de désactiver le rideau d'écran"]

Analysis

There are various issue in this error:

  1. There is a Magnifier issue: Magnifier shouldn't fail to start
  2. There is a screen curtain script issue:
    • The try block should only wrap actual screen curtain disabling and indicate if screen curtain disabling has been successful or not
    • If and only if successful, Magnifier re-enabling should be triggered and Magnifier re-enabling action result should be reported, i.e. not "Re-enabling Magnifier" but "Magnifier re-enabled" or "Could not re-enable Magnifier".

System configuration

NVDA installed/portable/running from source

Installed

NVDA version

2026.2beta7 (2026.2.0.56946)

Windows version

Windows 11 25H2 (AMD64) build 26200.8655

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

N/A

Other information about your system

N/A

Other questions

Does the issue still occur after restarting your computer?

Not tested

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

No

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

Not tested

Does the issue still occur after you run the System Accessibility Repair Tool in NVDA's tools menu?

Not tested; beta7 installed less than 1 week ago though.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature/magnifierfeature/screen-curtainp4https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#prioritytriagedHas been triaged, issue is waiting for implementation.

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions