git: c4fa8a7ea8f0 - main - cad/PrusaSlicer: update to 2.7.2
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 28 Mar 2024 19:37:36 UTC
The branch main has been updated by mizhka: URL: https://cgit.FreeBSD.org/ports/commit/?id=c4fa8a7ea8f07e2b889d72f2b7f8997b5ea8f665 commit c4fa8a7ea8f07e2b889d72f2b7f8997b5ea8f665 Author: Michael Zhilin <mizhka@FreeBSD.org> AuthorDate: 2024-03-11 18:32:46 +0000 Commit: Michael Zhilin <mizhka@FreeBSD.org> CommitDate: 2024-03-28 19:34:58 +0000 cad/PrusaSlicer: update to 2.7.2 Reported by: Teodor Sigaev <teodorsigaev@gmail.com> Reviewed by: lwhsu (mentor) Sponsored by: Postgres Professional Differential Revision: https://reviews.freebsd.org/D44315 --- cad/PrusaSlicer/Makefile | 17 ++++++++---- cad/PrusaSlicer/distinfo | 6 ++-- cad/PrusaSlicer/files/patch-CMakeLists.txt | 21 ++++++++++---- cad/PrusaSlicer/files/patch-src_CMakeLists.txt | 12 ++++---- .../files/patch-src_libnanosvg_nanosvg.h | 2 +- .../files/patch-src_libnanosvg_nanosvgrast.h | 2 +- ...libslic3r_Arrange_Core_NFP_NFPConcave__CGAL.cpp | 11 ++++++++ .../files/patch-src_libslic3r_CMakeLists.txt | 4 +-- .../files/patch-src_libslic3r_CutSurface.cpp | 10 +++++++ .../files/patch-src_libslic3r_EmbossShape.hpp | 11 ++++++++ .../files/patch-src_libslic3r_Format_SL1__SVG.cpp | 4 +-- .../files/patch-src_libslic3r_GCodeSender.cpp | 6 ++-- ...tch-src_libslic3r_Geometry_VoronoiUtilsCgal.cpp | 17 ++++++++++++ .../files/patch-src_libslic3r_MeshBoolean.cpp | 11 ++++++++ .../files/patch-src_libslic3r_NSVGUtils.hpp | 8 +++--- .../files/patch-src_libslic3r_Platform.cpp | 4 +-- .../files/patch-src_libslic3r_Platform.hpp | 4 +-- .../patch-src_libslic3r_SupportSpotsGenerator.cpp | 18 ++++++------ .../files/patch-src_libslic3r_Triangulation.cpp | 12 ++++++++ .../files/patch-src_slic3r_CMakeLists.txt | 10 +++---- .../files/patch-src_slic3r_GUI_BitmapCache.cpp | 8 +++--- .../files/patch-src_slic3r_GUI_ConfigWizard.cpp | 18 ++++++------ .../files/patch-src_slic3r_GUI_ConfigWizard.hpp | 6 ++-- ...tch-src_slic3r_GUI_DesktopIntegrationDialog.cpp | 7 +++-- ...tch-src_slic3r_GUI_DesktopIntegrationDialog.hpp | 9 ++++-- .../files/patch-src_slic3r_GUI_ExtraRenderers.cpp | 4 +-- .../files/patch-src_slic3r_GUI_Field.cpp | 4 +-- .../files/patch-src_slic3r_GUI_GLCanvas3D.cpp | 4 +-- .../files/patch-src_slic3r_GUI_GLTexture.cpp | 4 +-- cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.cpp | 6 ++-- cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.hpp | 4 +-- .../files/patch-src_slic3r_GUI_GUI__App.cpp | 32 +++++++++++----------- .../files/patch-src_slic3r_GUI_GUI__Factories.cpp | 4 +-- .../patch-src_slic3r_GUI_GUI__ObjectLayers.cpp | 6 ++-- ...atch-src_slic3r_GUI_GUI__ObjectManipulation.cpp | 12 -------- .../files/patch-src_slic3r_GUI_GUI__Preview.cpp | 6 ++-- .../files/patch-src_slic3r_GUI_GUI__Preview.hpp | 4 +-- .../files/patch-src_slic3r_GUI_GUI__Utils.cpp | 6 ++-- .../patch-src_slic3r_GUI_Gizmos_GLGizmoEmboss.cpp | 11 -------- .../patch-src_slic3r_GUI_Gizmos_GLGizmoSVG.cpp | 20 ++++++++++++++ .../files/patch-src_slic3r_GUI_IconManager.cpp | 13 +++++++++ .../files/patch-src_slic3r_GUI_ImGuiWrapper.cpp | 4 +-- .../files/patch-src_slic3r_GUI_InstanceCheck.cpp | 8 +++--- .../files/patch-src_slic3r_GUI_InstanceCheck.hpp | 6 ++-- .../patch-src_slic3r_GUI_KBShortcutsDialog.cpp | 4 +-- .../patch-src_slic3r_GUI_Mouse3DController.cpp | 6 ++-- .../files/patch-src_slic3r_GUI_OpenGLManager.cpp | 4 +-- .../files/patch-src_slic3r_GUI_OptionsGroup.cpp | 6 ++-- .../patch-src_slic3r_GUI_PhysicalPrinterDialog.cpp | 4 +-- .../files/patch-src_slic3r_GUI_Plater.cpp | 10 +++---- .../files/patch-src_slic3r_GUI_Preferences.cpp | 6 ++-- .../patch-src_slic3r_GUI_PresetComboBoxes.cpp | 4 +-- .../patch-src_slic3r_GUI_PresetComboBoxes.hpp | 4 +-- .../patch-src_slic3r_GUI_PrintHostDialogs.cpp | 20 +++++++------- .../patch-src_slic3r_GUI_RemovableDriveManager.cpp | 4 +-- cad/PrusaSlicer/files/patch-src_slic3r_GUI_Tab.cpp | 30 ++++++++++---------- .../patch-src_slic3r_GUI_UnsavedChangesDialog.cpp | 16 +++++------ .../patch-src_slic3r_GUI_UnsavedChangesDialog.hpp | 6 ++-- .../files/patch-src_slic3r_GUI_UpdateDialogs.cpp | 6 ++-- .../files/patch-src_slic3r_GUI_wxExtensions.cpp | 10 +++---- .../files/patch-src_slic3r_GUI_wxExtensions.hpp | 4 +-- .../patch-src_slic3r_Utils_FontConfigHelp.hpp | 4 +-- .../files/patch-src_slic3r_Utils_Serial.cpp | 6 ++-- .../files/patch-src_slic3r_Utils_WifiScanner.cpp | 27 ++++++++++++++++++ .../files/patch-src_slic3r_Utils_WxFontUtils.cpp | 12 ++++---- .../files/patch-tests_libslic3r_test__emboss.cpp | 10 +++---- cad/PrusaSlicer/pkg-plist | 10 +++---- 67 files changed, 369 insertions(+), 240 deletions(-) diff --git a/cad/PrusaSlicer/Makefile b/cad/PrusaSlicer/Makefile index 12c5d5f1fa6d..69134e102637 100644 --- a/cad/PrusaSlicer/Makefile +++ b/cad/PrusaSlicer/Makefile @@ -1,7 +1,6 @@ PORTNAME= PrusaSlicer DISTVERSIONPREFIX=version_ -DISTVERSION= 2.6.0 -PORTREVISION= 9 +DISTVERSION= 2.7.2 CATEGORIES= cad DIST_SUBDIR= PrusaSlicer @@ -14,9 +13,13 @@ LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= cereal>=1.3.0.10:devel/cereal \ cgal>=5.0.2:math/cgal \ - opencascade>=7.7.0:cad/opencascade + opencascade>=7.7.0:cad/opencascade \ + libbgcode>=0.2.0:cad/libbgcode -LIB_DEPENDS= libtbb.so:devel/onetbb \ +LIB_DEPENDS+= libbgcode_convert.so:cad/libbgcode \ + libbgcode_binarize.so:cad/libbgcode \ + libbgcode_core.so:cad/libbgcode \ + libtbb.so:devel/onetbb \ libboost_log.so:devel/boost-libs \ libImath.so:math/Imath \ libnlopt.so:math/nlopt \ @@ -38,7 +41,8 @@ LIB_DEPENDS= libtbb.so:devel/onetbb \ libharfbuzz.so:print/harfbuzz \ libwayland-egl.so:graphics/wayland -USES= cmake cpe desktop-file-utils eigen:3 gettext gl pkgconfig jpeg iconv gnome xorg +USES= cmake cpe desktop-file-utils eigen:3 gettext gl gnome iconv \ + jpeg pkgconfig xorg CPE_VENDOR= prusa3d USE_GITHUB= yes GH_ACCOUNT= prusa3d @@ -50,7 +54,8 @@ USE_XORG= x11 CMAKE_ARGS+= -DwxWidgets_CONFIG_EXECUTABLE="${WX_CONFIG}" \ -DSLIC3R_GTK=3 \ -DSLIC3R_FHS=1 \ - -DSLIC3R_PCH=OFF + -DSLIC3R_PCH=OFF \ + -DSLIC3R_BUILD_TESTS=OFF PORTDATA= * diff --git a/cad/PrusaSlicer/distinfo b/cad/PrusaSlicer/distinfo index 209b6b9fb7c8..ea27189ec62c 100644 --- a/cad/PrusaSlicer/distinfo +++ b/cad/PrusaSlicer/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1690319127 -SHA256 (PrusaSlicer/prusa3d-PrusaSlicer-version_2.6.0_GH0.tar.gz) = a15f68e3b18a047c8c9a18a9d91629d2c777be1932087684cf6d2332d0888e77 -SIZE (PrusaSlicer/prusa3d-PrusaSlicer-version_2.6.0_GH0.tar.gz) = 56430180 +TIMESTAMP = 1709292528 +SHA256 (PrusaSlicer/prusa3d-PrusaSlicer-version_2.7.2_GH0.tar.gz) = 0af8ab83ad33cdebc1d13d37d8ed3b2125d84532eb4bca7618c422bf7648ebee +SIZE (PrusaSlicer/prusa3d-PrusaSlicer-version_2.7.2_GH0.tar.gz) = 64915607 diff --git a/cad/PrusaSlicer/files/patch-CMakeLists.txt b/cad/PrusaSlicer/files/patch-CMakeLists.txt index 73daa6aa4e9b..bb479cff34f2 100644 --- a/cad/PrusaSlicer/files/patch-CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-CMakeLists.txt @@ -1,6 +1,6 @@ ---- CMakeLists.txt.orig 2023-06-19 12:07:14 UTC +--- CMakeLists.txt.orig 2024-02-29 13:03:32 UTC +++ CMakeLists.txt -@@ -4,6 +4,7 @@ include(CMakeDependentOption) +@@ -14,6 +14,7 @@ include(CMakeDependentOption) include("version.inc") include(GNUInstallDirs) include(CMakeDependentOption) @@ -8,7 +8,7 @@ set(SLIC3R_RESOURCES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/resources") file(TO_NATIVE_PATH "${SLIC3R_RESOURCES_DIR}" SLIC3R_RESOURCES_DIR_WIN) -@@ -207,7 +208,7 @@ endif () +@@ -218,7 +219,7 @@ endif () endif () endif () @@ -17,7 +17,16 @@ find_package(PkgConfig REQUIRED) if (CMAKE_VERSION VERSION_LESS "3.1") -@@ -446,7 +447,7 @@ find_package(EXPAT REQUIRED) +@@ -248,6 +249,8 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL + # On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error. + add_compile_options(-Werror=return-type) + ++ add_compile_options(-Wno-enum-constexpr-conversion -Wno-implicit-const-int-float-conversion) ++ + # removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1) + # https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221 + if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0) +@@ -457,7 +460,7 @@ find_package(EXPAT REQUIRED) # no matter what. find_package(EXPAT REQUIRED) @@ -26,7 +35,7 @@ if (TARGET EXPAT::EXPAT ) target_link_libraries(libexpat INTERFACE EXPAT::EXPAT) -@@ -627,8 +628,8 @@ elseif (SLIC3R_FHS) +@@ -631,8 +634,8 @@ elseif (SLIC3R_FHS) install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES} PATTERN "*/udev" EXCLUDE ) @@ -37,7 +46,7 @@ foreach(SIZE 32 128 192) install(FILES ${SLIC3R_RESOURCES_DIR}/icons/PrusaSlicer_${SIZE}px.png DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME PrusaSlicer.png -@@ -637,7 +638,8 @@ elseif (SLIC3R_FHS) +@@ -641,7 +644,8 @@ elseif (SLIC3R_FHS) DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME PrusaSlicer-gcodeviewer.png ) endforeach() diff --git a/cad/PrusaSlicer/files/patch-src_CMakeLists.txt b/cad/PrusaSlicer/files/patch-src_CMakeLists.txt index e084cdc3c97c..77880e102ea7 100644 --- a/cad/PrusaSlicer/files/patch-src_CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-src_CMakeLists.txt @@ -1,15 +1,15 @@ ---- src/CMakeLists.txt.orig 2023-06-19 12:07:14 UTC +--- src/CMakeLists.txt.orig 2023-12-12 14:21:21 UTC +++ src/CMakeLists.txt -@@ -78,7 +78,7 @@ if (SLIC3R_GUI) +@@ -62,7 +62,7 @@ if (SLIC3R_GUI) - find_package(JPEG QUIET) - find_package(TIFF QUIET) + find_package(JPEG MODULE QUIET) + find_package(TIFF MODULE QUIET) # Tiff exported config is broken for static build - find_package(NanoSVG REQUIRED) -+ # find_package(NanoSVG REQUIRED) ++ #find_package(NanoSVG REQUIRED) string(REGEX MATCH "wxpng" WX_PNG_BUILTIN ${wxWidgets_LIBRARIES}) if (PNG_FOUND AND NOT WX_PNG_BUILTIN) -@@ -147,7 +147,7 @@ endif () +@@ -131,7 +131,7 @@ if (NOT WIN32 AND NOT APPLE) set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer") endif () diff --git a/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvg.h b/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvg.h index 90f9ef46e777..f43183e3368f 100644 --- a/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvg.h +++ b/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvg.h @@ -1,4 +1,4 @@ ---- src/libnanosvg/nanosvg.h.orig 2024-03-17 16:57:39 UTC +--- src/libnanosvg/nanosvg.h.orig 2024-01-12 13:12:38 UTC +++ src/libnanosvg/nanosvg.h @@ -0,0 +1,3106 @@ +/* diff --git a/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvgrast.h b/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvgrast.h index 7a4e757402ff..1c1f0565a022 100644 --- a/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvgrast.h +++ b/cad/PrusaSlicer/files/patch-src_libnanosvg_nanosvgrast.h @@ -1,4 +1,4 @@ ---- src/libnanosvg/nanosvgrast.h.orig 2024-03-17 16:57:40 UTC +--- src/libnanosvg/nanosvgrast.h.orig 2024-01-12 13:12:38 UTC +++ src/libnanosvg/nanosvgrast.h @@ -0,0 +1,1482 @@ +/* diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Arrange_Core_NFP_NFPConcave__CGAL.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Arrange_Core_NFP_NFPConcave__CGAL.cpp new file mode 100644 index 000000000000..6ac5039ca58f --- /dev/null +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Arrange_Core_NFP_NFPConcave__CGAL.cpp @@ -0,0 +1,11 @@ +--- src/libslic3r/Arrange/Core/NFP/NFPConcave_CGAL.cpp.orig 2024-03-01 12:13:10 UTC ++++ src/libslic3r/Arrange/Core/NFP/NFPConcave_CGAL.cpp +@@ -5,6 +5,8 @@ + #include "NFP.hpp" + #include "NFPConcave_CGAL.hpp" + ++#include <boost/next_prior.hpp> ++ + #include <CGAL/Exact_predicates_inexact_constructions_kernel.h> + #include <CGAL/partition_2.h> + #include <CGAL/Partition_traits_2.h> diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_CMakeLists.txt b/cad/PrusaSlicer/files/patch-src_libslic3r_CMakeLists.txt index 28c3c0d96099..6c3d971a3d87 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_CMakeLists.txt @@ -1,6 +1,6 @@ ---- src/libslic3r/CMakeLists.txt.orig 2023-06-19 12:07:14 UTC +--- src/libslic3r/CMakeLists.txt.orig 2024-02-29 13:03:32 UTC +++ src/libslic3r/CMakeLists.txt -@@ -490,7 +490,6 @@ target_link_libraries(libslic3r +@@ -575,7 +575,6 @@ target_link_libraries(libslic3r target_link_libraries(libslic3r libnest2d admesh diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_CutSurface.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_CutSurface.cpp new file mode 100644 index 000000000000..cc1eb6867fd6 --- /dev/null +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_CutSurface.cpp @@ -0,0 +1,10 @@ +--- src/libslic3r/CutSurface.cpp.orig 2024-03-01 11:43:14 UTC ++++ src/libslic3r/CutSurface.cpp +@@ -29,6 +29,7 @@ using namespace Slic3r; + using namespace Slic3r; + #include "ExPolygonsIndex.hpp" + ++#include <boost/next_prior.hpp> + #include <CGAL/Polygon_mesh_processing/corefinement.h> + #include <CGAL/Exact_integer.h> + #include <CGAL/Surface_mesh.h> diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_EmbossShape.hpp b/cad/PrusaSlicer/files/patch-src_libslic3r_EmbossShape.hpp new file mode 100644 index 000000000000..77071f9a68b9 --- /dev/null +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_EmbossShape.hpp @@ -0,0 +1,11 @@ +--- src/libslic3r/EmbossShape.hpp.orig 2024-01-12 13:37:33 UTC ++++ src/libslic3r/EmbossShape.hpp +@@ -12,7 +12,7 @@ + #include "Point.hpp" // Transform3d + #include "ExPolygon.hpp" + #include "ExPolygonSerialize.hpp" +-#include "nanosvg/nanosvg.h" // NSVGimage ++#include "libnanosvg/nanosvg.h" // NSVGimage + + namespace Slic3r { + diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Format_SL1__SVG.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Format_SL1__SVG.cpp index d19ae2f01782..20e244e4398b 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_Format_SL1__SVG.cpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Format_SL1__SVG.cpp @@ -1,6 +1,6 @@ ---- src/libslic3r/Format/SL1_SVG.cpp.orig 2023-07-21 14:55:56 UTC +--- src/libslic3r/Format/SL1_SVG.cpp.orig 2023-12-12 14:21:21 UTC +++ src/libslic3r/Format/SL1_SVG.cpp -@@ -6,7 +6,8 @@ +@@ -10,7 +10,8 @@ #include "libslic3r/Format/ZipperArchiveImport.hpp" #define NANOSVG_IMPLEMENTATION diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_GCodeSender.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_GCodeSender.cpp index bfa2758566f0..2c326165f35a 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_GCodeSender.cpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_GCodeSender.cpp @@ -1,6 +1,6 @@ ---- src/libslic3r/GCodeSender.cpp.orig 2023-07-24 22:05:38 UTC +--- src/libslic3r/GCodeSender.cpp.orig 2023-12-12 14:21:21 UTC +++ src/libslic3r/GCodeSender.cpp -@@ -8,7 +8,7 @@ +@@ -14,7 +14,7 @@ #include <boost/date_time/posix_time/posix_time.hpp> #include <boost/lexical_cast.hpp> @@ -9,7 +9,7 @@ #include <termios.h> #endif #ifdef __APPLE__ -@@ -146,7 +146,7 @@ GCodeSender::set_baud_rate(unsigned int baud_rate) +@@ -152,7 +152,7 @@ GCodeSender::set_baud_rate(unsigned int baud_rate) if (ioctl(handle, TCSETS2, &ios)) printf("Error in TCSETS2: %s\n", strerror(errno)); diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Geometry_VoronoiUtilsCgal.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Geometry_VoronoiUtilsCgal.cpp new file mode 100644 index 000000000000..f511e85ee2dc --- /dev/null +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Geometry_VoronoiUtilsCgal.cpp @@ -0,0 +1,17 @@ +--- src/libslic3r/Geometry/VoronoiUtilsCgal.cpp.orig 2024-03-01 11:50:11 UTC ++++ src/libslic3r/Geometry/VoronoiUtilsCgal.cpp +@@ -2,6 +2,7 @@ + ///|/ + ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher + ///|/ ++#include <boost/next_prior.hpp> + #include <CGAL/Exact_predicates_exact_constructions_kernel.h> + #include <CGAL/Arr_segment_traits_2.h> + #include <CGAL/Surface_sweep_2_algorithms.h> +@@ -325,4 +326,4 @@ VoronoiUtilsCgal::is_voronoi_diagram_planar_angle(cons + return true; + } + +-} // namespace Slic3r::Geometry +\ No newline at end of file ++} // namespace Slic3r::Geometry diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_MeshBoolean.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_MeshBoolean.cpp new file mode 100644 index 000000000000..20e08fb5b937 --- /dev/null +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_MeshBoolean.cpp @@ -0,0 +1,11 @@ +--- src/libslic3r/MeshBoolean.cpp.orig 2024-03-01 11:44:05 UTC ++++ src/libslic3r/MeshBoolean.cpp +@@ -8,6 +8,8 @@ + #include "libslic3r/TryCatchSignal.hpp" + #undef PI + ++#include <boost/next_prior.hpp> ++ + // Include igl first. It defines "L" macro which then clashes with our localization + #include <igl/copyleft/cgal/mesh_boolean.h> + #undef L diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_NSVGUtils.hpp b/cad/PrusaSlicer/files/patch-src_libslic3r_NSVGUtils.hpp index cfe62886e433..28acfa15ccec 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_NSVGUtils.hpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_NSVGUtils.hpp @@ -1,11 +1,11 @@ ---- src/libslic3r/NSVGUtils.hpp.orig 2023-07-25 16:16:15 UTC +--- src/libslic3r/NSVGUtils.hpp.orig 2023-12-12 14:21:21 UTC +++ src/libslic3r/NSVGUtils.hpp -@@ -3,7 +3,7 @@ - +@@ -11,7 +11,7 @@ #include "Polygon.hpp" #include "ExPolygon.hpp" + #include "EmbossShape.hpp" // ExPolygonsWithIds -#include "nanosvg/nanosvg.h" // load SVG file +#include "libnanosvg/nanosvg.h" // load SVG file + // Helper function to work with nano svg namespace Slic3r { - diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.cpp index ac651976424c..7a2ff6c43b2b 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.cpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.cpp @@ -1,6 +1,6 @@ ---- src/libslic3r/Platform.cpp.orig 2022-09-06 07:09:19 UTC +--- src/libslic3r/Platform.cpp.orig 2023-12-12 14:21:21 UTC +++ src/libslic3r/Platform.cpp -@@ -86,6 +86,10 @@ void detect_platform() +@@ -90,6 +90,10 @@ void detect_platform() BOOST_LOG_TRIVIAL(info) << "Platform: OpenBSD"; s_platform = Platform::BSDUnix; s_platform_flavor = PlatformFlavor::OpenBSD; diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.hpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.hpp index 15036b0e7a2b..1ee9a290c1e8 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.hpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Platform.hpp @@ -1,6 +1,6 @@ ---- src/libslic3r/Platform.hpp.orig 2022-09-06 07:09:19 UTC +--- src/libslic3r/Platform.hpp.orig 2023-12-12 14:21:21 UTC +++ src/libslic3r/Platform.hpp -@@ -25,6 +25,7 @@ enum class PlatformFlavor +@@ -29,6 +29,7 @@ enum class PlatformFlavor WSL, // Microsoft's Windows on Linux (Linux kernel simulated on NTFS kernel) WSL2, // Microsoft's Windows on Linux, version 2 (virtual machine) OpenBSD, // For Platform::BSDUnix diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp index 2bbd7dd56fc7..fb72be9e02cc 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp @@ -1,11 +1,11 @@ ---- src/libslic3r/SupportSpotsGenerator.cpp.orig 2023-07-25 08:36:31 UTC +--- src/libslic3r/SupportSpotsGenerator.cpp.orig 2024-02-29 13:03:32 UTC +++ src/libslic3r/SupportSpotsGenerator.cpp -@@ -849,7 +849,7 @@ std::tuple<SupportPoints, PartialObjects> check_stabil - } - } +@@ -1054,7 +1054,7 @@ SliceMappings update_active_object_parts(const Layer } -- auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) { -+ auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) -> float { - if (conn.area < EPSILON) { // connection is empty, does not exists. Return max strength so that it is not picked as the - // weakest connection. - return INFINITY; + } + const float bottom_z = layer->bottom_z(); +- auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) { ++ auto estimate_conn_strength = [bottom_z](const SliceConnection &conn) -> float { + if (conn.area < EPSILON) { // connection is empty, does not exists. Return max strength so that it is not picked as the + // weakest connection. + return INFINITY; diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Triangulation.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Triangulation.cpp new file mode 100644 index 000000000000..43387a72e12d --- /dev/null +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Triangulation.cpp @@ -0,0 +1,12 @@ +--- src/libslic3r/Triangulation.cpp.orig 2024-03-01 11:48:14 UTC ++++ src/libslic3r/Triangulation.cpp +@@ -2,6 +2,9 @@ + ///|/ + ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher + ///|/ ++ ++#include <boost/next_prior.hpp> ++ + #include "Triangulation.hpp" + #include "IntersectionPoints.hpp" + #include <CGAL/Exact_predicates_inexact_constructions_kernel.h> diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt b/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt index 1fcc8d0ef165..7c735f83f9d0 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt @@ -1,7 +1,7 @@ ---- src/slic3r/CMakeLists.txt.orig 2023-06-19 12:07:14 UTC +--- src/slic3r/CMakeLists.txt.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/CMakeLists.txt -@@ -293,7 +293,7 @@ set(SLIC3R_GUI_SOURCES - Utils/WxFontUtils.hpp +@@ -333,7 +333,7 @@ set(SLIC3R_GUI_SOURCES + Utils/WifiScanner.cpp ) -find_package(NanoSVG REQUIRED) @@ -9,7 +9,7 @@ if (APPLE) list(APPEND SLIC3R_GUI_SOURCES -@@ -319,11 +319,12 @@ encoding_check(libslic3r_gui) +@@ -362,11 +362,12 @@ endforeach() encoding_check(libslic3r_gui) @@ -23,4 +23,4 @@ +elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") target_link_libraries(libslic3r_gui ${DBUS_LIBRARIES}) elseif (APPLE) - target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY}) + target_link_libraries(libslic3r_gui ${DISKARBITRATION_LIBRARY} ${COREWLAN_LIBRARY}) diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_BitmapCache.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_BitmapCache.cpp index 28f6d2e5f40f..6ca562b20d59 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_BitmapCache.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_BitmapCache.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/BitmapCache.cpp.orig 2023-07-21 12:45:35 UTC +--- src/slic3r/GUI/BitmapCache.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/BitmapCache.cpp -@@ -15,8 +15,9 @@ +@@ -20,8 +20,9 @@ #include <wx/rawbmp.h> #endif /* __WXGTK2__ */ @@ -12,7 +12,7 @@ namespace Slic3r { namespace GUI { -@@ -68,7 +69,7 @@ wxBitmapBundle* BitmapCache::insert_bndl(const std::st +@@ -73,7 +74,7 @@ wxBitmapBundle* BitmapCache::insert_bndl(const std::st wxVector<wxBitmap> bitmaps; std::set<double> scales = {1.0}; @@ -21,7 +21,7 @@ #ifdef __APPLE__ scales.emplace(m_scale); -@@ -547,7 +548,7 @@ wxBitmapBundle BitmapCache::mksolid(size_t width_in, s +@@ -554,7 +555,7 @@ wxBitmapBundle BitmapCache::mksolid(size_t width_in, s wxVector<wxBitmap> bitmaps; std::set<double> scales = { 1.0 }; diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.cpp index 13b763d0690f..ecba71fe5cf1 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/ConfigWizard.cpp.orig 2023-07-21 14:05:27 UTC +--- src/slic3r/GUI/ConfigWizard.cpp.orig 2024-02-29 13:03:32 UTC +++ src/slic3r/GUI/ConfigWizard.cpp -@@ -60,7 +60,7 @@ +@@ -69,7 +69,7 @@ #include "slic3r/GUI/I18N.hpp" #include "slic3r/Config/Version.hpp" @@ -9,7 +9,7 @@ #define wxLinux_gtk3 true #else #define wxLinux_gtk3 false -@@ -583,7 +583,7 @@ void PageWelcome::set_run_reason(ConfigWizard::RunReas +@@ -596,7 +596,7 @@ void PageWelcome::set_run_reason(ConfigWizard::RunReas const bool data_empty = run_reason == ConfigWizard::RR_DATA_EMPTY; welcome_text->Show(data_empty); cbox_reset->Show(!data_empty); @@ -18,16 +18,16 @@ if (!DesktopIntegrationDialog::is_integrated()) cbox_integrate->Show(true); else -@@ -1474,7 +1474,7 @@ PageDownloader::PageDownloader(ConfigWizard* parent) - " The model will be downloaded into folder you choose bellow." - ), SLIC3R_APP_NAME)); +@@ -1518,7 +1518,7 @@ PageDownloader::PageDownloader(ConfigWizard* parent) + )); + } -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) append_text(wxString::Format(_L( "On Linux systems the process of registration also creates desktop integration files for this version of application." ))); -@@ -1535,7 +1535,7 @@ bool DownloaderUtils::Worker::perform_register(const s +@@ -1579,7 +1579,7 @@ bool DownloaderUtils::Worker::perform_register(const s } //key_full = "\"C:\\Program Files\\Prusa3D\\PrusaSlicer\\prusa-slicer-console.exe\" \"%1\""; key_full = key_string; @@ -36,7 +36,7 @@ // Apple registers for custom url in info.plist thus it has to be already registered since build. // The url will always trigger opening of prusaslicer and we have to check that user has allowed it. (GUI_App::MacOpenURL is the triggered method) #else -@@ -1554,7 +1554,7 @@ void DownloaderUtils::Worker::deregister() +@@ -1598,7 +1598,7 @@ void DownloaderUtils::Worker::deregister() return; } key_full = key_string; @@ -45,7 +45,7 @@ // TODO #else BOOST_LOG_TRIVIAL(debug) << "DesktopIntegrationDialog::undo_downloader_registration"; -@@ -3106,7 +3106,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c +@@ -3063,7 +3063,7 @@ bool ConfigWizard::priv::apply_config(AppConfig *app_c if ((check_unsaved_preset_changes = install_bundles.size() > 0)) header = _L_PLURAL("A new vendor was installed and one of its printers will be activated", "New vendors were installed and one of theirs printers will be activated", install_bundles.size()); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.hpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.hpp index 43e076b6584e..5f9a904024cc 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.hpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ConfigWizard.hpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/ConfigWizard.hpp.orig 2023-07-25 09:21:21 UTC +--- src/slic3r/GUI/ConfigWizard.hpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/ConfigWizard.hpp -@@ -22,7 +22,7 @@ namespace DownloaderUtils { +@@ -31,7 +31,7 @@ namespace DownloaderUtils { wxWindow* m_parent{ nullptr }; wxTextCtrl* m_input_path{ nullptr }; bool downloader_checked{ false }; @@ -9,7 +9,7 @@ bool perform_registration_linux{ false }; #endif // __linux__ -@@ -41,7 +41,7 @@ namespace DownloaderUtils { +@@ -50,7 +50,7 @@ namespace DownloaderUtils { bool on_finish(); bool perform_register(const std::string& path_override = {}); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp index fda01fc8eead..8ad241e21ebb 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.cpp @@ -1,6 +1,9 @@ ---- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig 2023-07-25 09:24:17 UTC +--- src/slic3r/GUI/DesktopIntegrationDialog.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/DesktopIntegrationDialog.cpp -@@ -1,4 +1,4 @@ +@@ -3,7 +3,7 @@ + ///|/ + ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher + ///|/ -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) #include "DesktopIntegrationDialog.hpp" diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp index 392010458d33..7cd3f1114751 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_DesktopIntegrationDialog.hpp @@ -1,12 +1,15 @@ ---- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig 2023-07-25 09:25:50 UTC +--- src/slic3r/GUI/DesktopIntegrationDialog.hpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/DesktopIntegrationDialog.hpp -@@ -1,4 +1,4 @@ +@@ -2,7 +2,7 @@ + ///|/ + ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher + ///|/ -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) #ifndef slic3r_DesktopIntegrationDialog_hpp_ #define slic3r_DesktopIntegrationDialog_hpp_ -@@ -42,4 +42,4 @@ class DesktopIntegrationDialog : public wxDialog (priv +@@ -46,4 +46,4 @@ class DesktopIntegrationDialog : public wxDialog (priv } // namespace Slic3r #endif // slic3r_DesktopIntegrationDialog_hpp_ diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ExtraRenderers.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ExtraRenderers.cpp index ff72ea0a7a92..f667949aee2e 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ExtraRenderers.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_ExtraRenderers.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/ExtraRenderers.cpp.orig 2023-07-25 09:27:23 UTC +--- src/slic3r/GUI/ExtraRenderers.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/ExtraRenderers.cpp -@@ -327,7 +327,7 @@ wxWindow* BitmapChoiceRenderer::CreateEditorCtrl(wxWin +@@ -343,7 +343,7 @@ wxWindow* BitmapChoiceRenderer::CreateEditorCtrl(wxWin c_editor->SetSelection(atoi(data.GetText().c_str())); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Field.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Field.cpp index 8cbd7c553a22..f21bbca1ba56 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Field.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Field.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/Field.cpp.orig 2023-07-25 09:29:18 UTC +--- src/slic3r/GUI/Field.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/Field.cpp -@@ -199,7 +199,7 @@ static wxString na_value(bool for_spin_ctrl = false) +@@ -221,7 +221,7 @@ bool Field::is_matched(const std::string& string, cons static wxString na_value(bool for_spin_ctrl = false) { diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp index a66935080795..4ecbcc7e72b3 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLCanvas3D.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GLCanvas3D.cpp.orig 2023-07-25 09:31:07 UTC +--- src/slic3r/GUI/GLCanvas3D.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/GLCanvas3D.cpp -@@ -97,7 +97,7 @@ float RetinaHelper::get_scale_factor() { return float( +@@ -108,7 +108,7 @@ float RetinaHelper::get_scale_factor() { return float( #endif // __WXGTK3__ // Fixed the collision between BuildVolume::Type::Convex and macro Convex defined inside /usr/include/X11/X.h that is included by WxWidgets 3.0. diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLTexture.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLTexture.cpp index 6876f6022a4d..a1a487b06d0f 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLTexture.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GLTexture.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GLTexture.cpp.orig 2023-07-25 16:08:09 UTC +--- src/slic3r/GUI/GLTexture.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/GLTexture.cpp -@@ -21,8 +21,8 @@ +@@ -25,8 +25,8 @@ #define STB_DXT_IMPLEMENTATION #include "stb_dxt/stb_dxt.h" diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.cpp index ee6bdc4f0c1b..a96b1e1d5d24 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI.cpp.orig 2023-07-21 15:02:36 UTC +--- src/slic3r/GUI/GUI.cpp.orig 2024-02-29 13:03:32 UTC +++ src/slic3r/GUI/GUI.cpp -@@ -481,7 +481,7 @@ void desktop_open_folder(const boost::filesystem::path +@@ -492,7 +492,7 @@ void desktop_open_folder(const boost::filesystem::path const wxString widepath = path.wstring(); const wchar_t* argv[] = { L"explorer", widepath.GetData(), nullptr }; ::wxExecute(const_cast<wchar_t**>(argv), wxEXEC_ASYNC, nullptr); @@ -9,7 +9,7 @@ const char* argv[] = { "open", path.string().c_str(), nullptr }; ::wxExecute(const_cast<char**>(argv), wxEXEC_ASYNC, nullptr); #else -@@ -490,7 +490,7 @@ void desktop_open_folder(const boost::filesystem::path +@@ -501,7 +501,7 @@ void desktop_open_folder(const boost::filesystem::path #endif } diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.hpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.hpp index 7a9e92e965a6..14508a97158c 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.hpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI.hpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI.hpp.orig 2023-07-21 13:10:36 UTC +--- src/slic3r/GUI/GUI.hpp.orig 2024-02-29 13:03:32 UTC +++ src/slic3r/GUI/GUI.hpp -@@ -84,7 +84,7 @@ void desktop_open_folder(const boost::filesystem::path +@@ -88,7 +88,7 @@ void desktop_open_folder(const boost::filesystem::path // Ask the destop to open the directory specified by path using the default file explorer. void desktop_open_folder(const boost::filesystem::path& path); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__App.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__App.cpp index a992ee9136fa..90a6a54b262b 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__App.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__App.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI_App.cpp.orig 2023-06-19 12:07:14 UTC +--- src/slic3r/GUI/GUI_App.cpp.orig 2024-02-29 13:03:32 UTC +++ src/slic3r/GUI/GUI_App.cpp -@@ -395,7 +395,7 @@ class SplashScreen : public wxSplashScreen (private) +@@ -403,7 +403,7 @@ class SplashScreen : public wxSplashScreen (private) }; @@ -9,7 +9,7 @@ bool static check_old_linux_datadir(const wxString& app_name) { // If we are on Linux and the datadir does not exist yet, look into the old // location where the datadir was before version 2.3. If we find it there, -@@ -973,7 +973,7 @@ void GUI_App::init_app_config() +@@ -937,7 +937,7 @@ void GUI_App::init_app_config() // Mac : "~/Library/Application Support/Slic3r" if (data_dir().empty()) { @@ -18,8 +18,8 @@ set_data_dir(wxStandardPaths::Get().GetUserDataDir().ToUTF8().data()); #else // Since version 2.3, config dir on Linux is in ${XDG_CONFIG_HOME}. -@@ -1130,7 +1130,8 @@ bool GUI_App::on_init_inner() - { +@@ -1107,7 +1107,8 @@ bool GUI_App::on_init_inner() + // Set initialization of image handlers before any UI actions - See GH issue #7469 wxInitAllImageHandlers(); - @@ -28,7 +28,7 @@ #if defined(_WIN32) && ! defined(_WIN64) // Win32 32bit build. if (wxPlatformInfo::Get().GetArchName().substr(0, 2) == "64") { -@@ -1158,7 +1159,7 @@ bool GUI_App::on_init_inner() +@@ -1135,7 +1136,7 @@ bool GUI_App::on_init_inner() wxCHECK_MSG(wxDirExists(resources_dir), false, wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir)); @@ -37,7 +37,7 @@ if (! check_old_linux_datadir(GetAppName())) { std::cerr << "Quitting, user chose to move their data to new location." << std::endl; return false; -@@ -1263,7 +1264,7 @@ bool GUI_App::on_init_inner() +@@ -1240,7 +1241,7 @@ bool GUI_App::on_init_inner() if (!default_splashscreen_pos) // revert "restore_win_position" value if application wasn't crashed get_app_config()->set("restore_win_position", "1"); @@ -46,7 +46,7 @@ wxYield(); #endif scrn->SetText(_L("Loading configuration")+ dots); -@@ -1411,7 +1412,7 @@ bool GUI_App::on_init_inner() +@@ -1393,7 +1394,7 @@ bool GUI_App::on_init_inner() // and wxEVT_SET_FOCUS before GUI_App::post_init is called) wasn't called before GUI_App::post_init and OpenGL wasn't initialized. // Since issue #9774 Where same problem occured on MacOS Ventura, we decided to have this check on MacOS as well. @@ -55,7 +55,7 @@ if (!m_post_initialized && m_opengl_initialized) { #else if (!m_post_initialized) { -@@ -2054,7 +2055,7 @@ bool GUI_App::switch_language() +@@ -2096,7 +2097,7 @@ bool GUI_App::switch_language() } } @@ -64,7 +64,7 @@ static const wxLanguageInfo* linux_get_existing_locale_language(const wxLanguageInfo* language, const wxLanguageInfo* system_language) { -@@ -2253,7 +2254,7 @@ bool GUI_App::load_language(wxString language, bool in +@@ -2298,7 +2299,7 @@ bool GUI_App::load_language(wxString language, bool in m_language_info_best = wxLocale::FindLanguageInfo(best_language); BOOST_LOG_TRIVIAL(trace) << boost::format("Best translation language detected (may be different from user locales): %1%") % m_language_info_best->CanonicalName.ToUTF8().data(); } @@ -73,7 +73,7 @@ wxString lc_all; if (wxGetEnv("LC_ALL", &lc_all) && ! lc_all.IsEmpty()) { // Best language returned by wxWidgets on Linux apparently does not respect LC_ALL. -@@ -2262,6 +2263,7 @@ bool GUI_App::load_language(wxString language, bool in +@@ -2307,6 +2308,7 @@ bool GUI_App::load_language(wxString language, bool in } #endif } @@ -81,7 +81,7 @@ } const wxLanguageInfo *language_info = language.empty() ? nullptr : wxLocale::FindLanguageInfo(language); -@@ -2306,7 +2308,7 @@ bool GUI_App::load_language(wxString language, bool in +@@ -2351,7 +2353,7 @@ bool GUI_App::load_language(wxString language, bool in } else if (m_language_info_system != nullptr && language_info->CanonicalName.BeforeFirst('_') == m_language_info_system->CanonicalName.BeforeFirst('_')) language_info = m_language_info_system; @@ -90,7 +90,7 @@ // If we can't find this locale , try to use different one for the language // instead of just reporting that it is impossible to switch. if (! wxLocale::IsAvailable(language_info->Language)) { -@@ -2426,7 +2428,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu) +@@ -2471,7 +2473,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu) local_menu->Append(config_id_base + ConfigMenuTakeSnapshot, _L("Take Configuration &Snapshot"), _L("Capture a configuration snapshot")); local_menu->Append(config_id_base + ConfigMenuUpdateConf, _L("Check for Configuration Updates"), _L("Check for configuration updates")); local_menu->Append(config_id_base + ConfigMenuUpdateApp, _L("Check for Application Updates"), _L("Check for new version of application")); @@ -99,7 +99,7 @@ //if (DesktopIntegrationDialog::integration_possible()) local_menu->Append(config_id_base + ConfigMenuDesktopIntegration, _L("Desktop Integration"), _L("Desktop Integration")); #endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) -@@ -2473,7 +2475,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu) +@@ -2519,7 +2521,7 @@ void GUI_App::add_config_menu(wxMenuBar *menu) case ConfigMenuUpdateApp: app_version_check(true); break; @@ -108,7 +108,7 @@ case ConfigMenuDesktopIntegration: show_desktop_integration_dialog(); break; -@@ -3090,7 +3092,7 @@ void GUI_App::show_desktop_integration_dialog() +@@ -3155,7 +3157,7 @@ void GUI_App::show_desktop_integration_dialog() void GUI_App::show_desktop_integration_dialog() { @@ -117,7 +117,7 @@ //wxCHECK_MSG(mainframe != nullptr, false, "Internal error: Main frame not created / null"); DesktopIntegrationDialog dialog(mainframe); dialog.ShowModal(); -@@ -3110,7 +3112,7 @@ void GUI_App::show_downloader_registration_dialog() +@@ -3175,7 +3177,7 @@ void GUI_App::show_downloader_registration_dialog() if (msg.ShowModal() == wxID_YES) { auto downloader_worker = new DownloaderUtils::Worker(nullptr); downloader_worker->perform_register(app_config->get("url_downloader_dest")); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Factories.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Factories.cpp index c6371bde8096..e01c2f0640e2 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Factories.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Factories.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI_Factories.cpp.orig 2023-07-21 13:55:55 UTC +--- src/slic3r/GUI/GUI_Factories.cpp.orig 2024-02-29 13:03:32 UTC +++ src/slic3r/GUI/GUI_Factories.cpp -@@ -1345,7 +1345,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar +@@ -1466,7 +1466,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar for (size_t id = 0; id < menubar->GetMenuCount(); id++) { wxMenu* menu = menubar->GetMenu(id); sys_color_changed_menu(menu); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp index 61d8299138b1..3d3eb2c03a9e 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectLayers.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI_ObjectLayers.cpp.orig 2023-07-25 10:52:56 UTC +--- src/slic3r/GUI/GUI_ObjectLayers.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/GUI_ObjectLayers.cpp -@@ -344,7 +344,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare +@@ -348,7 +348,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare m_enter_pressed = true; // Workaround! Under Linux we have to use CallAfter() to avoid crash after pressing ENTER key // see #7531, #8055, #8408 @@ -9,7 +9,7 @@ wxTheApp->CallAfter([this, edit_fn]() { #endif // If LayersList wasn't updated/recreated, we can call wxEVT_KILL_FOCUS.Skip() -@@ -359,7 +359,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare +@@ -363,7 +363,7 @@ LayerRangeEditor::LayerRangeEditor( ObjectLayers* pare SetValue(m_valid_value); m_call_kill_focus = true; } diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp deleted file mode 100644 index 501f8d2b1b9a..000000000000 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__ObjectManipulation.cpp +++ /dev/null @@ -1,12 +0,0 @@ ---- src/slic3r/GUI/GUI_ObjectManipulation.cpp.orig 2023-07-21 13:50:11 UTC -+++ src/slic3r/GUI/GUI_ObjectManipulation.cpp -@@ -490,7 +490,8 @@ void ObjectManipulation::Show(const bool show) - const Selection& selection = wxGetApp().plater()->canvas3D()->get_selection(); - bool show_world_local_combo = wxGetApp().get_mode() != comSimple && (selection.is_single_full_instance() || selection.is_single_volume_or_modifier()); - if (selection.is_single_volume_or_modifier() && m_word_local_combo->GetCount() < 3) { --#ifdef __linux__ -+ -+#if defined(__linux__) || defined (__FreeBSD__) - m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), 2); - #else - m_word_local_combo->Insert(coordinate_type_str(ECoordinatesType::Local), wxNullBitmap, 2); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.cpp index aebb25974d89..ccb810cac91d 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI_Preview.cpp.orig 2023-07-25 10:57:11 UTC +--- src/slic3r/GUI/GUI_Preview.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/GUI_Preview.cpp -@@ -292,7 +292,7 @@ void Preview::reload_print(bool keep_volumes) +@@ -303,7 +303,7 @@ void Preview::load_print(bool keep_z_range) void Preview::reload_print(bool keep_volumes) { @@ -9,7 +9,7 @@ // We are getting mysterious crashes on Linux in gtk due to OpenGL context activation GH #1874 #1955. // So we are applying a workaround here: a delayed release of OpenGL vertex buffers. if (!IsShown()) -@@ -302,14 +302,14 @@ void Preview::reload_print(bool keep_volumes) +@@ -313,14 +313,14 @@ void Preview::reload_print(bool keep_volumes) } #endif /* __linux__ */ if ( diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.hpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.hpp index cb9a7e9087ae..b7b873574480 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.hpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Preview.hpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI_Preview.hpp.orig 2023-07-25 11:01:59 UTC +--- src/slic3r/GUI/GUI_Preview.hpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/GUI_Preview.hpp -@@ -85,7 +85,7 @@ class Preview : public wxPanel +@@ -89,7 +89,7 @@ class Preview : public wxPanel BackgroundSlicingProcess* m_process; GCodeProcessorResult* m_gcode_result; diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Utils.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Utils.cpp index 06b622d21b04..fce789370d3b 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Utils.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__Utils.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/GUI_Utils.cpp.orig 2023-07-25 11:03:21 UTC +--- src/slic3r/GUI/GUI_Utils.cpp.orig 2023-12-12 14:21:21 UTC +++ src/slic3r/GUI/GUI_Utils.cpp -@@ -48,7 +48,7 @@ void on_window_geometry(wxTopLevelWindow *tlw, std::fu +@@ -53,7 +53,7 @@ void on_window_geometry(wxTopLevelWindow *tlw, std::fu // cf. https://groups.google.com/forum/#!topic/wx-users/c7ntMt6piRI // OTOH the geometry is available very soon, so we can call the callback right away callback(); @@ -9,7 +9,7 @@ tlw->Bind(wxEVT_SHOW, [=](wxShowEvent &evt) { // On Linux, the geometry is only available after wxEVT_SHOW + CallAfter // cf. https://groups.google.com/forum/?pli=1#!topic/wx-users/fERSXdpVwAI -@@ -116,7 +116,7 @@ int get_dpi_for_window(const wxWindow *window) +@@ -121,7 +121,7 @@ int get_dpi_for_window(const wxWindow *window) if (hdc == NULL) { return DPI_DEFAULT; } *** 768 LINES SKIPPED ***