From 6ea540c231465a44e089690f1c465313887d24cc Mon Sep 17 00:00:00 2001 From: combolek <4743344+combolek@users.noreply.github.com> Date: Sat, 2 Sep 2023 16:04:35 -0700 Subject: [PATCH 1/4] Fixes issue #11060: Crash when displaying command line help Added missing null pointer check in ConfigDef::print_cli_help() --- src/libslic3r/Config.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index 1d53896c1b..ff911c2853 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -423,7 +423,7 @@ std::ostream& ConfigDef::print_cli_help(std::ostream& out, bool show_defaults, s descr += " ("; if (!def.sidetext.empty()) { descr += def.sidetext + ", "; - } else if (def.enum_def->has_values()) { + } else if (def.enum_def && def.enum_def->has_values()) { descr += boost::algorithm::join(def.enum_def->values(), ", ") + "; "; } descr += "default: " + def.default_value->serialize() + ")"; From ca2f1f4cd0f4f35c38876e457e41dcb3d7c28880 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Tue, 22 Aug 2023 09:44:48 +0200 Subject: [PATCH 2/4] SPE-1671 - Fixed visibility of supports while using clipping plane in SLA supports gizmo --- src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp index 039edd885f..9427f17d6f 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp @@ -141,7 +141,8 @@ void GLGizmoSlaSupports::on_render() m_selection_rectangle.render(m_parent); m_c->object_clipper()->render_cut(); - m_c->supports_clipper()->render_cut(); + if (are_sla_supports_shown()) + m_c->supports_clipper()->render_cut(); glsafe(::glDisable(GL_BLEND)); } From 85f001fb81aaa73ea6113cde62de37c7df99ad79 Mon Sep 17 00:00:00 2001 From: Elia Devito Date: Thu, 31 Aug 2023 17:52:29 +0200 Subject: [PATCH 3/4] Add missing includes (PR#11218) add boost/log/trivial.hpp to CutUtlis.cpp add tbb/parallel_for.h include to Measure.cpp add libslic3r/ClipperUtils.hpp to TextLines.cpp --- src/libslic3r/CutUtils.cpp | 1 + src/libslic3r/Measure.cpp | 3 ++- src/slic3r/GUI/TextLines.cpp | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libslic3r/CutUtils.cpp b/src/libslic3r/CutUtils.cpp index 3e04e7d2dc..2a97f8b229 100644 --- a/src/libslic3r/CutUtils.cpp +++ b/src/libslic3r/CutUtils.cpp @@ -11,6 +11,7 @@ #include "TriangleSelector.hpp" #include "ObjectID.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/Measure.cpp b/src/libslic3r/Measure.cpp index 3efed32f1e..97962a5a0e 100644 --- a/src/libslic3r/Measure.cpp +++ b/src/libslic3r/Measure.cpp @@ -8,9 +8,10 @@ #include "libslic3r/Geometry/Circle.hpp" #include "libslic3r/SurfaceMesh.hpp" -#include + #include +#include #define DEBUG_EXTRACT_ALL_FEATURES_AT_ONCE 0 diff --git a/src/slic3r/GUI/TextLines.cpp b/src/slic3r/GUI/TextLines.cpp index 8916ce5ae4..bc3eb58a91 100644 --- a/src/slic3r/GUI/TextLines.cpp +++ b/src/slic3r/GUI/TextLines.cpp @@ -10,6 +10,7 @@ #include "libslic3r/AABBTreeLines.hpp" #include "libslic3r/ExPolygonsIndex.hpp" +#include "libslic3r/ClipperUtils.hpp" #include "slic3r/GUI/Selection.hpp" #include "slic3r/GUI/GLCanvas3D.hpp" From 4aa7366fafb7a3f91cc68d4a808f5195a4aa3dcf Mon Sep 17 00:00:00 2001 From: Chow Loong Jin Date: Tue, 22 Aug 2023 15:35:56 +0800 Subject: [PATCH 4/4] Fix compilation errors with -std=gnu++17 (PR#11154) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes the following error: [ 19%] Built target imgui /<>/src/libslic3r/MeshBoolean.cpp: In instantiation of ‘indexed_triangle_set Slic3r::MeshBoolean::cgal::cgal_to_indexed_triangle_set(const _Mesh&) [with _Mesh = CGAL::Surface_mesh >]’: /<>/src/libslic3r/MeshBoolean.cpp:185:53: required from here /<>/src/libslic3r/MeshBoolean.cpp:151:5: error: cannot bind non-const lvalue reference of type ‘CGAL::SM_Vertex_index&’ to an rvalue of type ‘boost::iterators::detail::iterator_facade_base >::Index_iterator, CGAL::SM_Vertex_index, std::random_access_iterator_tag, CGAL::SM_Vertex_index, long int, false, false>::reference’ {aka ‘CGAL::SM_Vertex_index’} 151 | for (auto &vi : vertices) { | ^~~ /<>/src/libslic3r/MeshBoolean.cpp:156:5: error: cannot bind non-const lvalue reference of type ‘CGAL::SM_Face_index&’ to an rvalue of type ‘boost::iterators::detail::iterator_facade_base >::Index_iterator, CGAL::SM_Face_index, std::random_access_iterator_tag, CGAL::SM_Face_index, long int, false, false>::reference’ {aka ‘CGAL::SM_Face_index’} 156 | for (auto &face : faces) { | ^~~ make[3]: *** [src/libslic3r/CMakeFiles/libslic3r_cgal.dir/build.make:121: src/libslic3r/CMakeFiles/libslic3r_cgal.dir/MeshBoolean.cpp.o] Error 1 --- src/libslic3r/MeshBoolean.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp index d76bf468c7..2223257395 100644 --- a/src/libslic3r/MeshBoolean.cpp +++ b/src/libslic3r/MeshBoolean.cpp @@ -152,12 +152,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh) const auto &vertices = cgalmesh.vertices(); int vsize = int(vertices.size()); - for (auto &vi : vertices) { + for (const auto &vi : vertices) { auto &v = cgalmesh.point(vi); // Don't ask... its.vertices.emplace_back(to_vec3f(v)); } - for (auto &face : faces) { + for (const auto &face : faces) { auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face)); int i = 0;