From 5ab97d9312cb7243794d39d5a94f3ba5c0d17c9f Mon Sep 17 00:00:00 2001 From: "xiangdong.yang" Date: Thu, 4 Aug 2022 15:27:17 +0800 Subject: [PATCH] FIX:fix device menu display error_code info Change-Id: I1c06de3025ba9ac2a9b77bcc9aadc426b847b590 --- src/slic3r/GUI/StatusPanel.cpp | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 7aee6c7a9..2caff1b9f 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -1138,15 +1138,15 @@ void StatusPanel::on_subtask_abort(wxCommandEvent &event) void StatusPanel::error_info_reset() { + m_staticline->Hide(); + m_panel_error_txt->Hide(); + m_panel_error_txt->GetParent()->Layout(); m_error_text->SetLabel(""); before_error_code = 0; } void StatusPanel::on_subtask_clean(wxCommandEvent &event) { - m_staticline->Hide(); - m_panel_error_txt->Hide(); - m_panel_error_txt->GetParent()->Layout(); error_info_reset(); } @@ -1250,20 +1250,21 @@ void StatusPanel::update_error_message() { if (obj->print_error <= 0) { before_error_code = obj->print_error; + + if (m_panel_error_txt->IsShown()) + error_info_reset(); return; } if (before_error_code != obj->print_error) { - if (!get_error_message_thread) { - get_error_message_thread = new boost::thread(Slic3r::create_thread([&] { - std::string message = show_error_message(obj->print_error); - wxCommandEvent event(EVT_UPDATE_ERROR_MESSAGE); - event.SetString(wxString(message)); - event.SetEventObject(this); - wxPostEvent(this, event); - })); - } - before_error_code = obj->print_error; + get_error_message_thread = new boost::thread(Slic3r::create_thread([&] { + std::string message = show_error_message(obj->print_error); + wxCommandEvent event(EVT_UPDATE_ERROR_MESSAGE); + event.SetString(wxString(message)); + event.SetEventObject(this); + wxPostEvent(this, event); + })); + before_error_code = obj->print_error; } } @@ -2236,8 +2237,6 @@ void StatusPanel::set_default() m_ams_control_box->Hide(); m_ams_control->Reset(); clean_tasklist_info(); - m_staticline->Hide(); - m_panel_error_txt->Hide(); error_info_reset(); }