diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 41bd3a5c5..53df78bf2 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2004,7 +2004,12 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re else m_selection.volumes_changed(map_glvolume_old_to_new); - m_gizmos.update_data(); + // The current gizmo may be not supported by the current printer technology + // after the user changes printer. + // Check if it is still activable before to call update_data() method. + const GLGizmoBase* gizmo = m_gizmos.get_current(); + if (gizmo != nullptr && gizmo->is_activable()) + m_gizmos.update_data(); m_gizmos.refresh_on_off_state(); // Update the toolbar