DolphinWX: pass wxMsgAlert to main thread on non-GTK too

Fixes an issue on macOS where wxMessageBox always returns wxCANCEL when
not called from main thread.
This commit is contained in:
Michael Maltese 2016-12-06 16:39:04 -08:00
parent 389f8297c3
commit 443815df16
3 changed files with 2 additions and 7 deletions

View File

@ -701,7 +701,6 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
m_RenderParent->SetCursor(wxCURSOR_BLANK);
break;
#ifdef __WXGTK__
case IDM_PANIC:
{
wxString caption = event.GetString().BeforeFirst(':');
@ -711,7 +710,6 @@ void CFrame::OnHostMessage(wxCommandEvent& event)
panic_event.Set();
}
break;
#endif
case WM_USER_STOP:
DoStop();

View File

@ -116,9 +116,10 @@ public:
const CGameListCtrl* GetGameListCtrl() const;
wxMenuBar* GetMenuBar() const override;
#ifdef __WXGTK__
Common::Event panic_event;
bool bPanicResult;
#ifdef __WXGTK__
std::recursive_mutex keystate_lock;
#endif

View File

@ -352,10 +352,8 @@ void DolphinApp::OnIdle(wxIdleEvent& ev)
bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style*/)
{
#ifdef __WXGTK__
if (wxIsMainThread())
{
#endif
NetPlayDialog*& npd = NetPlayDialog::GetInstance();
if (npd != nullptr && npd->IsShown())
{
@ -364,7 +362,6 @@ bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style*
}
return wxYES == wxMessageBox(StrToWxStr(text), StrToWxStr(caption), (yes_no) ? wxYES_NO : wxOK,
wxWindow::FindFocus());
#ifdef __WXGTK__
}
else
{
@ -375,7 +372,6 @@ bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style*
main_frame->panic_event.Wait();
return main_frame->bPanicResult;
}
#endif
}
std::string wxStringTranslator(const char* text)