diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index ad3cafcb1..d159f75df 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -1334,7 +1334,10 @@ void Print::process(bool use_cache) name_tbb_thread_pool_threads_set_locale(); //compute the PrintObject with the same geometries - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": this=%1%, enter, use_cache=%2%")%this%use_cache; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": this=%1%, enter, use_cache=%2%, object size=%3%")%this%use_cache%m_objects.size(); + if (m_objects.empty()) + return; + for (PrintObject *obj : m_objects) obj->clear_shared_object(); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index c8777af6f..56abcbff2 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -5635,7 +5635,8 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt) } //BBS: set the current plater's slice result to valid - this->background_process.get_current_plate()->update_slice_result_valid_state(evt.success()); + if (!this->background_process.empty()) + this->background_process.get_current_plate()->update_slice_result_valid_state(evt.success()); //BBS: update the action button according to the current plate's status bool ready_to_slice = !this->partplate_list.get_curr_plate()->is_slice_result_valid();