84c33ec824
Quit while the simulation was running. I used to just do wxFrame::Close(TRUE) in the wxwindows thread, but the simulation thread would keep on running even after the window had disappeared. If the simulation thread sent any messages to the gui, it could segfault. Now, when you click on Quit it asks the simulator to quit, but does not close the gui. When the simulator thread finally quits, THEN it calls wxFrame::Close(TRUE) from the sim_thread (with appropriate gui mutex). Such tricks are only needed when the simulation is running. I hope this will fix bug #616142: "wx: crash from events after gui shutdown". - move MyFrame::closing flag out into a global variable wxBochsClosing so that it will be valid even when the MyFrame is deleted. See comments on in wxmain.h. - when wxBochsClosing is set, don't create any new windows. If any errors appear, just print them to stderr because the gui is just about to be closed. - fix comment in SimThread::Entry to talk about longjmp instead of kill_bochs_request - (minor) move contents of DefaultCallback2 into DefaultCallback. It doesn't refer to the wxApp at all. This is a bit safer in case it gets called when the wxApp is in the process of being deleted. - modified: gui/wxmain.cc gui/wxmain.h |
||
---|---|---|
bochs | ||
bochs-performance | ||
CVSROOT | ||
sfsite |