diff --git a/src/slic3r/GUI/MediaPlayCtrl.cpp b/src/slic3r/GUI/MediaPlayCtrl.cpp index d43a693619..f864777372 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.cpp +++ b/src/slic3r/GUI/MediaPlayCtrl.cpp @@ -237,14 +237,16 @@ void MediaPlayCtrl::Stop(wxString const &msg) SetStatus(msg, false); } ++m_failed_retry; - if (m_failed_code != 0 && !m_tutk_support && m_failed_retry > 1) { + if (m_failed_code != 0 && !m_tutk_support && (m_failed_retry > 1 || m_user_triggered)) { m_next_retry = wxDateTime(); // stop retry if (wxGetApp().show_modal_ip_address_enter_dialog(_L("LAN Connection Failed (Failed to start liveview)"))) { m_failed_retry = 0; + m_user_triggered = true; m_next_retry = wxDateTime::Now(); return; } } + m_user_triggered = false; if (m_next_retry.IsValid()) m_next_retry = wxDateTime::Now() + wxTimeSpan::Seconds(5 * m_failed_retry); } @@ -256,6 +258,7 @@ void MediaPlayCtrl::TogglePlay() Stop(); } else { m_failed_retry = 0; + m_user_triggered = true; m_next_retry = wxDateTime::Now(); Play(); } diff --git a/src/slic3r/GUI/MediaPlayCtrl.h b/src/slic3r/GUI/MediaPlayCtrl.h index 03a5362149..f3ab91f161 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.h +++ b/src/slic3r/GUI/MediaPlayCtrl.h @@ -83,6 +83,7 @@ private: boost::thread m_thread; bool m_streaming = false; + bool m_user_triggered = false; int m_failed_retry = 0; int m_failed_code = 0; wxDateTime m_next_retry;