From 2e54648b971749e382c05822d978f591d7da2080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= Date: Wed, 16 Jun 2021 17:05:24 +0200 Subject: [PATCH] Fixed a multi-material painting gizmo crash when extruders colors aren't initialized, which happens when switching between SLA and FDM printer. --- src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp index 50d74e0470..c6dced670d 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp @@ -125,7 +125,7 @@ void GLGizmoMmuSegmentation::set_painter_gizmo_data(const Selection &selection) { GLGizmoPainterBase::set_painter_gizmo_data(selection); - if (m_state != On) + if (m_state != On || wxGetApp().preset_bundle->printers.get_edited_preset().printer_technology() != ptFFF || wxGetApp().extruders_edited_cnt() <= 1) return; ModelObject *model_object = m_c->selection_info()->model_object(); @@ -404,6 +404,10 @@ void GLGizmoMmuSegmentation::init_model_triangle_selectors() const ModelObject *mo = m_c->selection_info()->model_object(); m_triangle_selectors.clear(); + // Don't continue when extruders colors are not initialized + if(m_original_extruders_colors.empty()) + return; + for (const ModelVolume *mv : mo->volumes) { if (!mv->is_model_part()) continue;