From 34346c9126ff520ac8ff52d398bea601c52483ef Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Mon, 24 Jun 2024 11:25:41 +0200 Subject: [PATCH] SPE-2369: Fixed crash when selecting Color Print view in preview (#12881) --- src/slic3r/GUI/GCodeViewer.cpp | 4 ++-- src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index f14b114e7f7..27b3bc5b0f0 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -873,8 +873,8 @@ void GCodeViewer::load_as_gcode(const GCodeProcessorResult& gcode_result, const // collect color print colors libvgcode::Palette color_print_colors; - color_print_colors.reserve(str_color_print_colors.size()); - for (const std::string& color : str_color_print_colors) { + const std::vector& str_colors = str_color_print_colors.empty() ? str_tool_colors : str_color_print_colors; + for (const std::string& color : str_colors) { color_print_colors.emplace_back(libvgcode::convert(color)); } m_viewer.set_color_print_colors(color_print_colors); diff --git a/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp b/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp index 23af8231031..87c4abb206c 100644 --- a/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp +++ b/src/slic3r/GUI/LibVGCode/LibVGCodeWrapper.cpp @@ -745,8 +745,9 @@ GCodeInputData convert(const Slic3r::Print& print, const std::vector& str_colors = str_color_print_colors.empty() ? str_tool_colors : str_color_print_colors; + ret.color_print_colors.reserve(str_colors.size()); + for (const std::string& color : str_colors) { ret.color_print_colors.emplace_back(convert(color)); }