From 725a8daf36b0fabeecfcb0b839744f667b4484c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20=C5=A0ach?= Date: Tue, 14 Jan 2025 11:41:52 +0100 Subject: [PATCH] Fix SPE-2633: Do not move to an empty layer (#13826) --- src/libslic3r/GCode.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index da2deedac5..cd042eea38 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2550,7 +2550,12 @@ LayerResult GCodeGenerator::process_layer( if (extrusions.empty()) { return result; } - const Geometry::ArcWelder::Segment first_segment{*GCode::ExtrusionOrder::get_first_point(extrusions)}; + + const auto optional_first_segment{GCode::ExtrusionOrder::get_first_point(extrusions)}; + if (!optional_first_segment) { + return result; + } + const Geometry::ArcWelder::Segment &first_segment{*optional_first_segment}; const Vec3crd first_point{to_3d(first_segment.point, scaled(print_z + (first_segment.height_fraction - 1.0) * height))}; const PrintInstance* first_instance{get_first_instance(extrusions, instances_to_print)}; m_label_objects.update(first_instance);