From 1e5d1cb616742ef64070ae93d8acf3c722612993 Mon Sep 17 00:00:00 2001 From: Lukas Matena Date: Wed, 3 Jun 2020 16:37:20 +0200 Subject: [PATCH] Fixed a crash when switching from SLA to FDM with a gizmo active If a gizmo used SupportsClipper or HollowedMesh common data, it would attempt to update from a dead SLAPrintObject --- src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp index 9dd9c6565..051e9cf88 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosCommon.cpp @@ -8,6 +8,8 @@ #include "slic3r/GUI/Camera.hpp" #include "slic3r/GUI/Plater.hpp" +#include "slic3r/GUI/PresetBundle.hpp" + #include namespace Slic3r { @@ -170,7 +172,8 @@ void InstancesHider::show_supports(bool show) { void HollowedMesh::on_update() { const ModelObject* mo = get_pool()->selection_info()->model_object(); - if (! mo) + bool is_sla = wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA; + if (! mo || ! is_sla) return; const GLCanvas3D* canvas = get_pool()->get_canvas(); @@ -376,7 +379,8 @@ void ObjectClipper::set_position(double pos, bool keep_normal) void SupportsClipper::on_update() { const ModelObject* mo = get_pool()->selection_info()->model_object(); - if (! mo) + bool is_sla = wxGetApp().preset_bundle->printers.get_selected_preset().printer_technology() == ptSLA; + if (! mo || ! is_sla) return; const GLCanvas3D* canvas = get_pool()->get_canvas();