diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 03d6b94ce56..49a1e37f3b4 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1377,7 +1377,7 @@ void GLCanvas3D::update_instance_printable_state_for_object(const size_t obj_idx } } -void GLCanvas3D::update_instance_printable_state_for_objects(std::vector& object_idxs) +void GLCanvas3D::update_instance_printable_state_for_objects(const std::vector& object_idxs) { for (size_t obj_idx : object_idxs) update_instance_printable_state_for_object(obj_idx); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index fee13608700..8e31addaabd 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -565,7 +565,7 @@ class GLCanvas3D void toggle_sla_auxiliaries_visibility(bool visible, const ModelObject* mo = nullptr, int instance_idx = -1); void toggle_model_objects_visibility(bool visible, const ModelObject* mo = nullptr, int instance_idx = -1); void update_instance_printable_state_for_object(size_t obj_idx); - void update_instance_printable_state_for_objects(std::vector& object_idxs); + void update_instance_printable_state_for_objects(const std::vector& object_idxs); void set_config(const DynamicPrintConfig* config); void set_process(BackgroundSlicingProcess* process); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 4d6b1178f9b..41e9c8ff5c1 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -6111,8 +6111,10 @@ void Plater::changed_objects(const std::vector& object_idxs) // pulls the correct data, update the 3D scene. this->p->update_restart_background_process(true, false); } - else + else { p->view3D->reload_scene(false); + p->view3D->get_canvas3d()->update_instance_printable_state_for_objects(object_idxs); + } // update print this->p->schedule_background_process();