ENH:prevent 500 error pop from popping up multiple times

jira:[for 500 err]

Change-Id: I81c74e75ebaeb3fdc18d0fb34a63205e2be06878
This commit is contained in:
tao wang 2024-10-10 17:46:53 +08:00 committed by Lane.Wei
parent d2e1f3c40e
commit 2fcc7f8264
2 changed files with 10 additions and 7 deletions

View File

@ -1943,13 +1943,17 @@ void GUI_App::init_networking_callbacks()
// });
m_agent->set_server_callback([this](std::string url, int status) {
if (!m_server_error_dialog) {
m_server_error_dialog = new NetworkErrorDialog(mainframe);
}
if (!m_server_error_dialog->IsShown()) {
CallAfter([this]() {
if (m_server_error_dialog) {
m_server_error_dialog->EndModal(wxCLOSE);
m_server_error_dialog->Destroy();
m_server_error_dialog = nullptr;
}
m_server_error_dialog = new NetworkErrorDialog(mainframe);
m_server_error_dialog->ShowModal();
}
});
});

View File

@ -652,7 +652,6 @@ NetworkErrorDialog::NetworkErrorDialog(wxWindow* parent)
m_text_wiki->Bind(wxEVT_LEAVE_WINDOW, [this](auto& e) {SetCursor(wxCURSOR_ARROW); });
sizer_help->Add(m_text_proposal, 0, wxEXPAND, 0);
sizer_main->Add(0, 0, 0, wxTOP, 6);
sizer_help->Add(m_text_wiki, 0, wxALL, 0);
wxBoxSizer* sizer_button = new wxBoxSizer(wxHORIZONTAL);
@ -677,7 +676,7 @@ NetworkErrorDialog::NetworkErrorDialog(wxWindow* parent)
sizer_main->Add(sizer_bacis_text, 0, wxEXPAND | wxLEFT | wxRIGHT, 15);
sizer_main->Add(0, 0, 0, wxTOP, 6);
sizer_main->Add(sizer_link, 0, wxLEFT | wxRIGHT, 15);
sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, 8);
sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, FromDIP(20));
sizer_main->Add(sizer_help, 1, wxLEFT | wxRIGHT, 15);
sizer_main->Add(0, 0, 0, wxEXPAND | wxTOP, 8);
sizer_main->Add(sizer_button, 1, wxEXPAND | wxLEFT | wxRIGHT, 15);