I have a multi-window application, each window being a wxFrame containing a wxNotebook, with toolbars on the notebook pages, and the majority of the secondary windows being video players with a notebook showing logs associated with that window's video feed. Basically, this is a complex application with the ability for multiple window video players and an image gallery.
The main window's notebook has pages for 1) video window administration, 2) an image gallery, and 3) application maintenance.
My problem is with using wxGetTextFromUser(). I use it on the main window's Image Gallery notebook page for the user to enter the name of a new image when adding images to the Image Gallery. The problem is wxGetTextFromUser() does not always return when the user is finished using the dialog, sometimes the return is very delayed:
- If no secondary windows are open, wxGetTextFromUser() returns as one would expect, immediately upon the user finishing with using the dialog;
- If a secondary window is open (a video window, a wxFrame), the dialog pops as expected and the user can enter their string normally, but the calling routine does not receive control back unless video playback is active in the secondary window. The delay could be hours if the user waits that long to press the "Play" toolbar icon on this secondary window.