Don't pipe PanicAlerts to netplay window if it isn't opened

This is something that was quite confusing for me while trying to get
netplay to work for me; once the Connect/Host buttons were pressed,
the UI would hang, only to work again a few seconds later, but with
no error message or explanation *at all*.

Turns out this is because panic alerts are shown in the netplay window
instead during netplay, even before it is even shown.

This fixes it by "piping" the alerts to the netplay chat only if the
netplay window is visible.

(regression introduced in #3823)
This commit is contained in:
Léo Lam 2016-07-21 16:36:27 +02:00
parent c7ead90a09
commit 574468c95b
1 changed files with 3 additions and 6 deletions

View File

@ -372,16 +372,13 @@ bool wxMsgAlert(const char* caption, const char* text, bool yes_no, int /*Style*
{ {
#endif #endif
NetPlayDialog*& npd = NetPlayDialog::GetInstance(); NetPlayDialog*& npd = NetPlayDialog::GetInstance();
if (npd == nullptr) if (npd != nullptr && npd->IsShown())
{
return wxYES == wxMessageBox(StrToWxStr(text), StrToWxStr(caption),
(yes_no) ? wxYES_NO : wxOK, wxWindow::FindFocus());
}
else
{ {
npd->AppendChat("/!\\ " + std::string{text}); npd->AppendChat("/!\\ " + std::string{text});
return true; return true;
} }
return wxYES == wxMessageBox(StrToWxStr(text), StrToWxStr(caption), (yes_no) ? wxYES_NO : wxOK,
wxWindow::FindFocus());
#ifdef __WXGTK__ #ifdef __WXGTK__
} }
else else