From 663df48a95946cb3ecdcc68dd7179ae7d936c028 Mon Sep 17 00:00:00 2001 From: Arthur Date: Wed, 17 Aug 2022 10:11:38 +0800 Subject: [PATCH] FIX: cut_to_parts+keep_lower crashes Change-Id: I65eb51952a2062e6726e12e6cdb42f09f7816bc3 (cherry picked from commit cf9873717c756ddfe7e584ccb74f29763f529883) --- src/libslic3r/Model.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index 5f9c8c1cb..888edd6c2 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -1538,7 +1538,7 @@ ModelObjectPtrs ModelObject::cut(size_t instance, std::array plane_poi bool keep_lower = attributes.has(ModelObjectCutAttribute::KeepLower); bool cut_to_parts = attributes.has(ModelObjectCutAttribute::CutToParts); ModelObject* upper = keep_upper ? ModelObject::new_clone(*this) : nullptr; - ModelObject* lower = cut_to_parts ? upper : (keep_lower ? ModelObject::new_clone(*this) : nullptr); + ModelObject* lower = (cut_to_parts&&upper!=nullptr) ? upper : (keep_lower ? ModelObject::new_clone(*this) : nullptr); if (attributes.has(ModelObjectCutAttribute::KeepUpper)) { upper->set_model(nullptr);