Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gui/wxPython 4: if gui.messageBox is called, other NVDA dialogs won't accept keyboard input #8566

Closed
josephsl opened this issue Jul 27, 2018 · 2 comments · Fixed by #8595
Closed
Milestone

Comments

@josephsl
Copy link
Collaborator

Hi,

Reported by a user via Twitter: if a dialog powered by gui.messageBox opens, keyboard input won't be received by other NVDA dialogs.

Steps to reproduce:

  1. Open NVDA's Python Console and type the code shown below.
  2. After typing the code, press Enter.
  3. Go to a browser window, switch to browse mode, then press Control+NVDA+F to find text.

The code to type from Python Console is:

import gui, wx
gui.messageBox("sometext", "somedialog")

And:

wx.CallAfter(gui.messageBox, "sometext", "somedialog")

Actual behavior:

Cannot find text in browse mode documents. When Enter key is pressed from find dialog, error sound is heard.

Expected behavior:

Find dialog works as advertised.

System configuration:

NVDA Installed/portable/running from source:

Installed

NVDA version:

Alpha.15693

Windows version:

Windows 10 Version 1803 and Insider Preview

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

None

Other information about your system:

None

Other questions:

Does the issue still occur after restarting your PC?

Yes

Have you tried any other versions of NVDA?

Yes - 2018.2

Remarks:

Looks like we need to do something about message box differences between wxPython Classic versus Phoenix.

Thanks.

@josephsl
Copy link
Collaborator Author

Hi,

Looks like we need to use wx.Dialog.ShowModal for some standalone dialogs. For now, the pull request for this issue will cover find dialog first.

Thanks.

@josephsl
Copy link
Collaborator Author

Hi,

After further testing, here's what I've got so far:

  • This problem exists in older NVDA versions as well, so this is not specific to wxPython version.
  • If Dialog.ShowModal is used, it causes a problem where oldest instance of a given dialog won't close unless newer instances are closed first. This is seen when opening elements list screen multiple times in succession.

Thanks.

josephsl added a commit to josephsl/nvda that referenced this issue Aug 6, 2018
…find text while NVDA's about dialog is opened. Re nvaccess#8566.

wxPython 4: somehow, Find dialog (Control+NVDA+F) doesn't work if NVDA's About dialog is opened. Mitigate this by giving this dialog the same treattment as elements list - creating a run callback.
josephsl added a commit to josephsl/nvda that referenced this issue Jun 6, 2019
…find text while NVDA's about dialog is opened. Re nvaccess#8566.

wxPython 4: somehow, Find dialog (Control+NVDA+F) doesn't work if NVDA's About dialog is opened. Mitigate this by giving this dialog the same treattment as elements list - creating a run callback.
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Jun 6, 2019
michaelDCurran pushed a commit that referenced this issue Jun 6, 2019
…find text while NVDA's about dialog is opened. Re #8566. (#8595)

wxPython 4: somehow, Find dialog (Control+NVDA+F) doesn't work if NVDA's About dialog is opened. Mitigate this by giving this dialog the same treattment as elements list - creating a run callback.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants