diff options
author | bubnikv <bubnikv@gmail.com> | 2017-02-19 23:45:38 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2017-02-19 23:45:38 +0300 |
commit | 440a5eb2a0f6e43e0e9ce582a33ac599c24d1245 (patch) | |
tree | 7a805f22ba7362c16eb3db99c361c5ac631a6266 | |
parent | 6e19921f9866a0e044c0f2231d6934c2ebb4fbd7 (diff) |
Fixes an ugly infinite loop issue.version_1.33.7
https://github.com/prusa3d/Slic3r/issues/142
-rw-r--r-- | xs/src/libslic3r/SupportMaterial.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/xs/src/libslic3r/SupportMaterial.cpp b/xs/src/libslic3r/SupportMaterial.cpp index 9425b2f9f..0afd2114b 100644 --- a/xs/src/libslic3r/SupportMaterial.cpp +++ b/xs/src/libslic3r/SupportMaterial.cpp @@ -1051,9 +1051,10 @@ PrintObjectSupportMaterial::MyLayersPtr PrintObjectSupportMaterial::raft_and_int if (std::abs(extr1z) < EPSILON) { // This layer interval starts with the 1st layer. Print the 1st layer using the prescribed 1st layer thickness. assert(intermediate_layers.empty()); + assert(extr2z > m_slicing_params.first_print_layer_height - EPSILON); MyLayer &layer_new = layer_allocate(layer_storage, sltIntermediate); layer_new.bottom_z = 0.; - layer_new.print_z = extr1z = m_slicing_params.first_print_layer_height; + layer_new.print_z = extr1z = std::min(extr2z, m_slicing_params.first_print_layer_height); layer_new.height = extr1z; intermediate_layers.push_back(&layer_new); // Continue printing the other layers up to extr2z. |