diff --git a/UI/RemoteISOScreen.cpp b/UI/RemoteISOScreen.cpp index 79d202e60a..8ca89ab212 100644 --- a/UI/RemoteISOScreen.cpp +++ b/UI/RemoteISOScreen.cpp @@ -291,13 +291,16 @@ void RemoteISOScreen::CreateTabs() { void RemoteISOScreen::update() { TabbedUIDialogScreenWithGameBackground::update(); - if (!WebServerStopped(WebServerFlags::DISCS)) { + frameCount_++; + + if (!WebServerStopped(WebServerFlags::DISCS) && frameCount_ > 60) { auto result = IsServerAllowed(g_Config.iRemoteISOPort); if (result == ServerAllowStatus::NO) { firewallWarning_->SetVisibility(V_VISIBLE); } else if (result == ServerAllowStatus::YES) { firewallWarning_->SetVisibility(V_GONE); } + frameCount_ = 0; } bool nowRunning = !WebServerStopped(WebServerFlags::DISCS); @@ -422,6 +425,7 @@ UI::EventReturn RemoteISOScreen::OnChangeRemoteISOSubdir(UI::EventParams &e) { } UI::EventReturn RemoteISOScreen::HandleStartServer(UI::EventParams &e) { + frameCount_ = 0; if (!StartWebServer(WebServerFlags::DISCS)) { return EVENT_SKIPPED; } diff --git a/UI/RemoteISOScreen.h b/UI/RemoteISOScreen.h index a7a15c9e88..7c93b79310 100644 --- a/UI/RemoteISOScreen.h +++ b/UI/RemoteISOScreen.h @@ -49,6 +49,8 @@ protected: UI::TextView *firewallWarning_ = nullptr; bool serverRunning_ = false; bool serverStopping_ = false; + + int frameCount_ = 0; }; enum class ScanStatus {