From 3ef556f43ca1d28e7e7a8c1fa9fb8b70922a7224 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Tue, 6 Feb 2024 09:19:32 +0100 Subject: [PATCH] Fix of missing invalidation on object name change (#8059, #12193, SPE-2139) --- src/libslic3r/PrintApply.cpp | 5 ++++- src/slic3r/GUI/GUI_ObjectList.cpp | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/PrintApply.cpp b/src/libslic3r/PrintApply.cpp index 1d9fdbcc8c..5f100ab4bd 100644 --- a/src/libslic3r/PrintApply.cpp +++ b/src/libslic3r/PrintApply.cpp @@ -1239,7 +1239,10 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_ model_volume_list_copy_configs(model_object /* dst */, model_object_new /* src */, ModelVolumeType::PARAMETER_MODIFIER); layer_height_ranges_copy_configs(model_object.layer_config_ranges /* dst */, model_object_new.layer_config_ranges /* src */); // Copy the ModelObject name, input_file and instances. The instances will be compared against PrintObject instances in the next step. - model_object.name = model_object_new.name; + if (model_object.name != model_object_new.name) { + update_apply_status(this->invalidate_step(psGCodeExport)); + model_object.name = model_object_new.name; + } model_object.input_file = model_object_new.input_file; // Only refresh ModelInstances if there is any change. if (model_object.instances.size() != model_object_new.instances.size() || diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 2d5aee71ab..db8e372e92 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -694,6 +694,8 @@ void ObjectList::update_name_in_model(const wxDataViewItem& item) const //update object name with text marker in ObjectList m_objects_model->SetName(get_item_name(obj->name, true), item); } + // Renaming an object should invalidate gcode export - schedule Print::apply call. + wxGetApp().plater()->schedule_background_process(); return; }