diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index b14132ad6..dda4235b1 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -695,7 +695,8 @@ Print::ApplyStatus Print::apply(const Model &model, const DynamicPrintConfig &co tbb::mutex::scoped_lock lock(this->state_mutex()); // The following call may stop the background processing. - update_apply_status(this->invalidate_state_by_config_options(print_diff)); + if (! print_diff.empty()) + update_apply_status(this->invalidate_state_by_config_options(print_diff)); // Apply variables to placeholder parser. The placeholder parser is used by G-code export, // which should be stopped if print_diff is not empty. if (m_placeholder_parser.apply_config(config)) diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index 7834ae08a..e550cc80c 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -130,8 +130,10 @@ SLAPrint::ApplyStatus SLAPrint::apply(const Model &model, tbb::mutex::scoped_lock lock(this->state_mutex()); // The following call may stop the background processing. - update_apply_status(this->invalidate_state_by_config_options(printer_diff)); - update_apply_status(this->invalidate_state_by_config_options(material_diff)); + if (! printer_diff.empty()) + update_apply_status(this->invalidate_state_by_config_options(printer_diff)); + if (! material_diff.empty()) + update_apply_status(this->invalidate_state_by_config_options(material_diff)); // It is also safe to change m_config now after this->invalidate_state_by_config_options() call. m_printer_config.apply_only(config, printer_diff, true);