diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 005d0ce0e..2d620b229 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -1557,7 +1557,7 @@ wxBoxSizer* MainFrame::create_side_tools() m_slice_btn->Bind(wxEVT_BUTTON, [this](wxCommandEvent& event) { //this->m_plater->select_view_3D("Preview"); - m_plater->update(); + m_plater->update(false, true); if (m_slice_select == eSliceAll) wxPostEvent(m_plater, SimpleEvent(EVT_GLTOOLBAR_SLICE_ALL)); else diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index eb25ab818..21b0caf46 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -2685,7 +2685,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame) // update slice and print button wxGetApp().mainframe->update_slice_print_status(MainFrame::SlicePrintEventType::eEventSliceUpdate, true, false); - update(); + set_need_update(true); }); } if (wxGetApp().is_gcode_viewer()) @@ -9664,16 +9664,17 @@ void Plater::add_file() } } -void Plater::update(bool conside_update_flag) +void Plater::update(bool conside_update_flag, bool force_background_processing_update) { + unsigned int flag = force_background_processing_update ? (unsigned int)Plater::priv::UpdateParams::FORCE_BACKGROUND_PROCESSING_UPDATE : 0; if (conside_update_flag) { if (need_update()) { - p->update(); + p->update(flag); p->set_need_update(false); } } else - p->update(); + p->update(flag); } void Plater::object_list_changed() { p->object_list_changed(); } diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index f0c0c17e6..c30eb5a05 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -269,7 +269,7 @@ public: const wxString& get_last_loaded_gcode() const { return m_last_loaded_gcode; } - void update(bool conside_update_flag = false); + void update(bool conside_update_flag = false, bool force_background_processing_update = false); //BBS void object_list_changed(); void stop_jobs();