From 103af1d8fb8895ce3a9c5f295c437561b5fa4f19 Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 23 Nov 2018 17:05:44 +0100 Subject: [PATCH] Fixed some background processing synchronization issues. --- src/libslic3r/Print.cpp | 3 ++- src/libslic3r/SLAPrint.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index b14132ad6e..dda4235b14 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 7834ae08a2..e550cc80cc 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);