From 8c51f3e693592ab5f219d3586cfba79a1b6b6acc Mon Sep 17 00:00:00 2001 From: Arthur Date: Fri, 1 Dec 2023 10:12:22 +0800 Subject: [PATCH] FIX: crash when support type and style are inconsistent jira: STUDIO-5428 Change-Id: Ib1e79c71736810099e15282c30524e55e8f60f34 (cherry picked from commit aefb7fbaf25146c03bd2eb336f58ed2eb0e83ea6) (cherry picked from commit 697a7bbee327901ddff22369b89c8d752ef7e8d7) --- src/libslic3r/Support/SupportMaterial.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/Support/SupportMaterial.cpp b/src/libslic3r/Support/SupportMaterial.cpp index b64862f60e..2975c2c3fb 100644 --- a/src/libslic3r/Support/SupportMaterial.cpp +++ b/src/libslic3r/Support/SupportMaterial.cpp @@ -677,7 +677,9 @@ public: m_extrusion_width(params.extrusion_width), m_support_material_closing_radius(params.support_closing_radius) { - if (m_style != smsSnug) m_style = smsGrid; + if (m_style == smsDefault) m_style = smsGrid; + if (std::set{smsTreeSlim, smsTreeStrong, smsTreeHybrid, smsOrganic}.count(m_style)) + m_style = smsGrid; switch (m_style) { case smsGrid: { @@ -769,6 +771,13 @@ public: ) { switch (m_style) { + case smsTreeSlim: + case smsTreeStrong: + case smsTreeHybrid: + case smsOrganic: + assert(false); + //[[fallthrough]]; + return Polygons(); case smsGrid: { #ifdef SUPPORT_USE_AGG_RASTERIZER