int wxAppTraits::WaitForChild(wxExecuteData& execData) { #if wxUSE_CONSOLE_EVENTLOOP wxConsoleEventLoop loop; return RunLoopUntilChildExit(execData, loop); #else // !wxUSE_CONSOLE_EVENTLOOP wxFAIL_MSG( wxS("Can't wait for child process without wxConsoleEventLoop") ); return -1; #endif // wxUSE_CONSOLE_EVENTLOOP/!wxUSE_CONSOLE_EVENTLOOP }
int wxGUIAppTraits::WaitForChild(wxExecuteData& execData) { // prepare to wait for the child termination: show to the user that we're // busy and refuse all input unless explicitly told otherwise wxBusyCursor bc; wxWindowDisabler wd(!(execData.flags & wxEXEC_NODISABLE)); // Allocate an event loop that will be used to wait for the process // to terminate, will handle stdout, stderr, and any other events and pass // it to the common (to console and GUI) code which will run it. wxGUIEventLoop loop; return RunLoopUntilChildExit(execData, loop); }