From 597e14c5067c0ecac82266a5f78afb0f295c4f1f Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Sat, 21 Jul 2018 18:40:08 -0500 Subject: [PATCH] Changed access to bounds-checking at() instead of []; added precheck in case layer height is uniform. --- xs/src/libslic3r/LayerHeightSpline.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xs/src/libslic3r/LayerHeightSpline.cpp b/xs/src/libslic3r/LayerHeightSpline.cpp index 5fe16e2f9..0fadf3513 100644 --- a/xs/src/libslic3r/LayerHeightSpline.cpp +++ b/xs/src/libslic3r/LayerHeightSpline.cpp @@ -176,12 +176,14 @@ bool LayerHeightSpline::_updateBSpline() this->_spline_layers.push_back(this->_spline_layers.back()+1); this->_spline_layer_heights = this->_layer_heights; - this->_spline_layer_heights[0] = this->_spline_layer_heights[1]; // override fixed first layer height with first "real" layer + + if (this->_layer_heights.size() > 1) + this->_spline_layer_heights.at(0) = this->_spline_layer_heights.at(1); // override fixed first layer height with first "real" layer this->_spline_layer_heights.push_back(this->_spline_layer_heights.back()); - this->_layer_height_spline.reset(new BSpline(&this->_spline_layers[0], + this->_layer_height_spline.reset(new BSpline(&this->_spline_layers.at(0), this->_spline_layers.size(), - &this->_spline_layer_heights[0], + &this->_spline_layer_heights.at(0), 0, 1, 0)