nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Open modals crash NVDA when exiting

Open seanbudd opened this issue 2 years ago • 0 comments

While gui.message.messageBox protects crashes when exiting, other modal dialogs are not protected. Usage of ShowModal and gui.runScriptModalDialog cause crashes or undefined behaviour when exiting nvda

Steps to reproduce:

  1. On a web page, open a NVDA find dialog (NVDA+F3)
  2. Exit NVDA
  3. Note that NVDA doesn't exit and cannot exit in future, it is now in an indeterminate state

  1. Install a new copy of NVDA
  2. Wait for the usage statistics dialog to open
  3. Exit NVDA
  4. Note that NVDA crashes

  1. Change the user language of NVDA
  2. Wait for the "Restart NVDA for the language change to take affect" dialog to open
  3. Exit NVDA
  4. Note that NVDA doesn't exit and cannot exit in future, it is now in an indeterminate state

  1. Go to vision in NVDA preferences, activate screen curtain
  2. Wait for the screen curtain warning dialog to open
  3. Exit NVDA
  4. Note that NVDA doesn't exit and cannot exit in future, it is now in an indeterminate state

Actual behavior:

NVDA has crashed or partially exited, requiring a manual restart.

Expected behavior:

Exiting should be blocked until these modals are closed or handled. A pattern like messageBox should be implemented instead. See #13007 for suggested pattern designs.

System configuration

NVDA installed/portable/running from source:

installed and source

NVDA version:

2021.3.4, 2022.1beta3

seanbudd avatar Apr 05 '22 01:04 seanbudd