Fix for issue #2765, arrange crash with custom beds

This commit is contained in:
tamasmeszaros 2019-08-15 16:15:17 +02:00
parent 15744f021a
commit 8fce511806
2 changed files with 7 additions and 4 deletions

View file

@ -492,8 +492,11 @@ BedShapeHint::BedShapeHint(const Polyline &bed) {
m_type = BedShapes::bsCircle;
m_bed.circ = c;
} else {
if (m_type == BedShapes::bsIrregular)
m_bed.polygon.Slic3r::Polyline::~Polyline();
m_type = BedShapes::bsIrregular;
m_bed.polygon = bed;
::new (&m_bed.polygon) Polyline(bed);
}
}

View file

@ -45,12 +45,12 @@ class BedShapeHint {
Polyline polygon;
InfiniteBed infbed{};
~BedShape_u() {}
BedShape_u() {};
BedShape_u() {}
} m_bed;
public:
BedShapeHint(){};
BedShapeHint(){}
/// Get a bed shape hint for arrange() from a naked Polyline.
explicit BedShapeHint(const Polyline &polyl);
@ -73,7 +73,7 @@ public:
{
if (m_type == BedShapes::bsIrregular)
m_bed.polygon.Slic3r::Polyline::~Polyline();
};
}
BedShapeHint(const BedShapeHint &cpy) { *this = cpy; }
BedShapeHint(BedShapeHint &&cpy) { *this = std::move(cpy); }