Code: Select all
void Dialog_Main::OnButtonClick_See_Detailed_MAC_Info( wxCommandEvent& event )
{
(new Dialog_Detailed_MAC_Info(this,p))->ShowModal();
/* This function call doesn't return until the
dialog disappears, however wxWidgets has some
sort of sorcery going on in the background that lets it
jump out and process other events, then come
back to finish this one. */
/* Do more processing after dialog disappears */
}
Can someone point me to the code in wxWidgets that achieves this behaviour even though there is only one GUI Thread? I imagine it must use a signal to interrupt the thread, because I can't think how else it could interleave event handlers. I'm very interested to see how this works. Can you point me to the .cpp file in wxWidgets that does this?