From 783570ebf6b74ff6c42748e5d359dfad0d19d3c0 Mon Sep 17 00:00:00 2001 From: Noisyfox Date: Tue, 30 Jul 2024 22:32:15 +0800 Subject: [PATCH] Fix access violation when slicing project with print-by-object mode (#5984) Fix issue that models with only one color become multicolor after slicing when print-by-object mode is used. This applys the same fix as 612204b443ca716b9a9936386327b1e45120d06b --- src/libslic3r/GCode/ToolOrdering.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index b117d5a622..03a3c491e9 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -219,10 +219,14 @@ ToolOrdering::ToolOrdering(const PrintObject &object, unsigned int first_extrude // BBS // Reorder the extruders to minimize tool switches. - if (first_extruder == (unsigned int)-1) { - this->reorder_extruders(generate_first_layer_tool_order(object)); + std::vector first_layer_tool_order; + if (first_extruder == (unsigned int) -1) { + first_layer_tool_order = generate_first_layer_tool_order(object); } - else { + + if (!first_layer_tool_order.empty()) { + this->reorder_extruders(first_layer_tool_order); + } else { this->reorder_extruders(first_extruder); }