diff --git a/src/slic3r/GUI/BackgroundSlicingProcess.cpp b/src/slic3r/GUI/BackgroundSlicingProcess.cpp index a71e7cca0d..c27f99b1ee 100644 --- a/src/slic3r/GUI/BackgroundSlicingProcess.cpp +++ b/src/slic3r/GUI/BackgroundSlicingProcess.cpp @@ -690,6 +690,15 @@ Print::ApplyStatus BackgroundSlicingProcess::apply(const Model &model, const Dyn DynamicPrintConfig new_config = config; new_config.apply(*m_current_plate->config()); Print::ApplyStatus invalidated = m_print->apply(model, new_config); + + // Orca: prevent resetting under gcode viewer mode + if (invalidated != PrintBase::APPLY_STATUS_UNCHANGED) { + const auto plater = GUI::wxGetApp().mainframe->m_plater; + if (plater && plater->only_gcode_mode()) { + invalidated = PrintBase::APPLY_STATUS_UNCHANGED; + } + } + if ((invalidated & PrintBase::APPLY_STATUS_INVALIDATED) != 0 && m_print->technology() == ptFFF && !m_fff_print->is_step_done(psGCodeExport)) { // Some FFF status was invalidated, and the G-code was not exported yet.