From 588022e376a57fea551b56bff321d3948bbc9ad2 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Sat, 8 Mar 2025 17:22:27 +0800 Subject: [PATCH] Don't reset gcode preview when open as gcode viewer --- src/slic3r/GUI/BackgroundSlicingProcess.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/slic3r/GUI/BackgroundSlicingProcess.cpp b/src/slic3r/GUI/BackgroundSlicingProcess.cpp index a71e7cca0d3..c27f99b1eee 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.