diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index 15cde3ee6..51554e86c 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -416,7 +416,7 @@ private: friend class Print; PrintObject(Print* print, ModelObject* model_object, const Transform3d& trafo, PrintInstances&& instances); - ~PrintObject() { if (m_shared_regions && -- m_shared_regions->m_ref_cnt == 0) delete m_shared_regions; } + ~PrintObject(); void config_apply(const ConfigBase &other, bool ignore_nonexistent = false) { m_config.apply(other, ignore_nonexistent); } void config_apply_only(const ConfigBase &other, const t_config_option_keys &keys, bool ignore_nonexistent = false) { m_config.apply_only(other, keys, ignore_nonexistent); } diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 00e6dd981..b8c5e31d8 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -84,6 +84,14 @@ PrintObject::PrintObject(Print* print, ModelObject* model_object, const Transfor this->set_instances(std::move(instances)); } +PrintObject::~PrintObject() +{ + if (m_shared_regions && -- m_shared_regions->m_ref_cnt == 0) delete m_shared_regions; + clear_layers(); + clear_support_layers(); + clear_tree_support_layers(); +} + PrintBase::ApplyStatus PrintObject::set_instances(PrintInstances &&instances) { for (PrintInstance &i : instances) @@ -2375,9 +2383,9 @@ void PrintObject::remove_bridges_from_contacts( int x0 = bbox.min.x(); int x1 = bbox.max.x(); int y0 = bbox.min.y(); - int y1 = bbox.max.y(); + int y1 = bbox.max.y(); const int grid_lw = int(w/2); // grid line width - + #if 1 if (fabs(surface.bridge_angle-0)