From b0e20ad68eace60f99a4fda802ff0c54373f4f17 Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Fri, 25 Aug 2023 11:22:39 +0800 Subject: [PATCH] FIX: crash when multi-select connectors with different shape Jira: 3916 Change-Id: Ic011827e5d301f91f684039a85b228196be1ba98 (cherry picked from commit 53705d8541a6d97ada278ea9310ac6e5e1ac45c7) --- src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp index c851535d61..ba97805013 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp @@ -1710,7 +1710,8 @@ bool GLGizmoAdvancedCut::render_combo(const std::string &label, const std::vecto size_t selection_out = selection_idx; - if (ImGui::BBLBeginCombo(("##" + label).c_str(), lines[selection_idx].c_str(), 0)) { + const char* selected_str = (selection_idx >= 0 && selection_idx < int(lines.size())) ? lines[selection_idx].c_str() : ""; + if (ImGui::BBLBeginCombo(("##" + label).c_str(), selected_str, 0)) { for (size_t line_idx = 0; line_idx < lines.size(); ++line_idx) { ImGui::PushID(int(line_idx)); if (ImGui::Selectable("", line_idx == selection_idx))