Implement API to terminate current emulator session from within main
emulator thread (ie soft power off).
This commit is contained in:
parent
8f04c11a76
commit
00034c1ece
10 changed files with 39 additions and 2 deletions
|
|
@ -33,6 +33,7 @@ extern void InitXmlResource();
|
|||
wxDEFINE_EVENT(WX_CALLBACK_EVENT, CallbackEvent);
|
||||
wxDEFINE_EVENT(WX_EXIT_EVENT, wxCommandEvent);
|
||||
wxDEFINE_EVENT(WX_STOP_EMULATION_EVENT, wxCommandEvent);
|
||||
wxDEFINE_EVENT(WX_STOP_EMULATION_NOW_EVENT, wxCommandEvent);
|
||||
wxDEFINE_EVENT(WX_EXIT_COMPLETE_EVENT, wxCommandEvent);
|
||||
wxDEFINE_EVENT(WX_SHOW_WINDOW_EVENT, wxCommandEvent);
|
||||
wxDEFINE_EVENT(WX_POPUP_MENU_EVENT, PopupMenuEvent);
|
||||
|
|
@ -89,6 +90,7 @@ Frame::Frame(App* app, const wxString& title, const wxPoint& pos,
|
|||
Bind(WX_EXIT_EVENT, &Frame::OnExitEvent, this);
|
||||
Bind(WX_EXIT_COMPLETE_EVENT, &Frame::OnExitCompleteEvent, this);
|
||||
Bind(WX_STOP_EMULATION_EVENT, &Frame::OnStopEmulationEvent, this);
|
||||
Bind(WX_STOP_EMULATION_NOW_EVENT, &Frame::OnStopEmulationNowEvent, this);
|
||||
Bind(WX_CALLBACK_EVENT, &Frame::OnCallbackEvent, this);
|
||||
#ifdef _WIN32
|
||||
Bind(WX_WIN_SEND_MESSAGE_EVENT, &Frame::OnWinSendMessageEvent, this);
|
||||
|
|
@ -151,6 +153,15 @@ void Frame::OnStopEmulationEvent(wxCommandEvent& event)
|
|||
}
|
||||
}
|
||||
|
||||
void Frame::OnStopEmulationNowEvent(wxCommandEvent& event)
|
||||
{
|
||||
stop_emulation();
|
||||
if (!config_override)
|
||||
ShowConfigSelection();
|
||||
else
|
||||
Quit(1);
|
||||
}
|
||||
|
||||
void Frame::OnShowWindowEvent(wxCommandEvent& event)
|
||||
{
|
||||
wxWindow* window = (wxWindow*)event.GetEventObject();
|
||||
|
|
|
|||
Loading…
Reference in a new issue