Skip to content

changed magnifier uninitalize#20069

Draft
Boumtchack wants to merge 1 commit intonvaccess:masterfrom
France-Travail:fix/MagnifierStartup
Draft

changed magnifier uninitalize#20069
Boumtchack wants to merge 1 commit intonvaccess:masterfrom
France-Travail:fix/MagnifierStartup

Conversation

@Boumtchack
Copy link
Copy Markdown
Contributor

Link to issue number:

fix #20068

Summary of the issue:

Stopping and restarting the fullscreen magnifier fails with OSError: [WinError 0] from MagSetFullscreenTransform.

Description of user facing changes:

The fullscreen magnifier can now be stopped and restarted reliably.

Description of developer facing changes:

  • _stopMagnifier() no longer calls MagUninitialize(), only resets the transform to neutral
  • New _finalUninitializeNativeMagnification() called from terminate() on NVDA shutdown
  • _nativeApiInitialized flag ensures MagInitialize() is only called once per session

Description of development approach:

The MagInitialize → MagUninitialize → MagInitialize cycle within the same process causes MagSetFullscreenTransform to silently return FALSE with no error code. The fix keeps the API initialized for the NVDA session lifetime and defers MagUninitialize() to shutdown.

Testing strategy:

manual

Known issues with pull request:

Code Review Checklist:

  • Documentation:
    • Change log entry
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English
  • API is compatible with existing add-ons.
  • Security precautions taken.

@CyrilleB79
Copy link
Copy Markdown
Contributor

In the first days of NVDA magnifier, we may have to do as follows, either to compare both magnifiers or in case of a still unknown bug in NVDA magnifier:

  • start NVDA
  • start NVDA magnifier
  • Exit NVDA Magnifier
  • start Windows Magnifier

I am afraid we won't be able to do so anymore. Do you confirm this? If yes, isn't it possible to find another solution?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

An error message is reported to the user every other startup of the Magnifier

2 participants