diff options
Diffstat (limited to 'cad/PrusaSlicer')
22 files changed, 127 insertions, 127 deletions
diff --git a/cad/PrusaSlicer/Makefile b/cad/PrusaSlicer/Makefile index 0f20201d58d1..54ad27a35fc4 100644 --- a/cad/PrusaSlicer/Makefile +++ b/cad/PrusaSlicer/Makefile @@ -1,7 +1,6 @@ PORTNAME= PrusaSlicer DISTVERSIONPREFIX=version_ -DISTVERSION= 2.9.0 -PORTREVISION= 2 +DISTVERSION= 2.9.2 CATEGORIES= cad DIST_SUBDIR= PrusaSlicer @@ -46,7 +45,8 @@ LIB_DEPENDS+= libbgcode_convert.so:cad/libbgcode \ libwayland-egl.so:graphics/wayland \ libwebkit2gtk-4.0.so:www/webkit2-gtk@40 \ libsoup-2.4.so:devel/libsoup \ - libjavascriptcoregtk-4.0.so:www/webkit2-gtk@40 + libjavascriptcoregtk-4.0.so:www/webkit2-gtk@40 \ + libz3.so:math/z3 USES= cmake cpe desktop-file-utils eigen:3 gettext gl gnome iconv \ jpeg pkgconfig xorg ssl tcl tk diff --git a/cad/PrusaSlicer/distinfo b/cad/PrusaSlicer/distinfo index f0d226c67fee..f45180546e6a 100644 --- a/cad/PrusaSlicer/distinfo +++ b/cad/PrusaSlicer/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1739556829 -SHA256 (PrusaSlicer/prusa3d-PrusaSlicer-version_2.9.0_GH0.tar.gz) = 515a41dea3bcd2fcadb713b22e4eccfd46fbb7a7ca8dad8440e7b5e29fbbc206 -SIZE (PrusaSlicer/prusa3d-PrusaSlicer-version_2.9.0_GH0.tar.gz) = 70604482 +TIMESTAMP = 1744711814 +SHA256 (PrusaSlicer/prusa3d-PrusaSlicer-version_2.9.2_GH0.tar.gz) = ee0efd43729ae4a0dc16372f6a562d577e482f62e9b1851d8a5f30c61d9f317d +SIZE (PrusaSlicer/prusa3d-PrusaSlicer-version_2.9.2_GH0.tar.gz) = 76992191 diff --git a/cad/PrusaSlicer/files/patch-CMakeLists.txt b/cad/PrusaSlicer/files/patch-CMakeLists.txt index 297a2a5d44b8..606aefc19521 100644 --- a/cad/PrusaSlicer/files/patch-CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-CMakeLists.txt @@ -1,4 +1,4 @@ ---- CMakeLists.txt.orig 2025-02-14 18:17:10 UTC +--- CMakeLists.txt.orig 2025-04-10 11:26:51 UTC +++ CMakeLists.txt @@ -233,7 +233,7 @@ endif () endif () @@ -9,7 +9,7 @@ find_package(PkgConfig REQUIRED) if (CMAKE_VERSION VERSION_LESS "3.1") -@@ -635,8 +635,14 @@ elseif (SLIC3R_FHS) +@@ -634,8 +634,14 @@ elseif (SLIC3R_FHS) install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/ DESTINATION ${SLIC3R_FHS_RESOURCES} PATTERN "*/udev" EXCLUDE ) @@ -24,14 +24,14 @@ 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 -@@ -645,7 +651,10 @@ elseif (SLIC3R_FHS) +@@ -644,7 +650,9 @@ elseif (SLIC3R_FHS) DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/${SIZE}x${SIZE}/apps RENAME PrusaSlicer-gcodeviewer.png ) endforeach() -+if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d) -+endif() -+ +- install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d) ++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") ++ install(DIRECTORY ${SLIC3R_RESOURCES_DIR}/udev/ DESTINATION lib/udev/rules.d) ++ endif() + target_compile_definitions(PrusaSlicer PUBLIC SLIC3R_FHS SLIC3R_FHS_RESOURCES="${SLIC3R_FHS_RESOURCES}") else () install(FILES src/platform/unix/PrusaSlicer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications) - install(FILES src/platform/unix/PrusaGcodeviewer.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/resources/applications) diff --git a/cad/PrusaSlicer/files/patch-src_CMakeLists.txt b/cad/PrusaSlicer/files/patch-src_CMakeLists.txt index e9a16c47e89d..f6c4c536e514 100644 --- a/cad/PrusaSlicer/files/patch-src_CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-src_CMakeLists.txt @@ -1,6 +1,6 @@ ---- src/CMakeLists.txt.orig 2025-02-14 18:46:38 UTC +--- src/CMakeLists.txt.orig 2025-04-10 11:26:51 UTC +++ src/CMakeLists.txt -@@ -48,7 +48,7 @@ if (SLIC3R_GUI) +@@ -51,7 +51,7 @@ if (SLIC3R_GUI) endif() find_package(JPEG MODULE QUIET) diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_CMakeLists.txt b/cad/PrusaSlicer/files/patch-src_libslic3r_CMakeLists.txt index 2e9c5dde9e4d..2e17a21a83d7 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 2024-12-20 11:54:34 UTC +--- src/libslic3r/CMakeLists.txt.orig 2025-04-10 11:26:51 UTC +++ src/libslic3r/CMakeLists.txt -@@ -568,7 +568,6 @@ target_link_libraries(libslic3r PRIVATE +@@ -612,7 +612,6 @@ target_link_libraries(libslic3r PRIVATE target_link_libraries(libslic3r PRIVATE libnest2d diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_Format_STEP.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_Format_STEP.cpp index 20fef0dd1afc..30d0e19ec56d 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_Format_STEP.cpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_Format_STEP.cpp @@ -1,6 +1,6 @@ ---- src/libslic3r/Format/STEP.cpp.orig 2024-12-20 11:54:34 UTC +--- src/libslic3r/Format/STEP.cpp.orig 2025-04-10 11:26:51 UTC +++ src/libslic3r/Format/STEP.cpp -@@ -39,7 +39,7 @@ LoadStepFn get_load_step_fn() +@@ -42,7 +42,7 @@ LoadStepFn get_load_step_fn() #endif if (!load_step_fn) { @@ -9,7 +9,7 @@ #ifdef _WIN32 libpath /= "OCCTWrapper.dll"; HMODULE module = LoadLibraryW(libpath.wstring().c_str()); -@@ -61,6 +61,7 @@ LoadStepFn get_load_step_fn() +@@ -64,6 +64,7 @@ LoadStepFn get_load_step_fn() #elif __APPLE__ load_step_fn = &load_step_internal; #else diff --git a/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp b/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp index 51f9763ed1ea..0351d3774d08 100644 --- a/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp +++ b/cad/PrusaSlicer/files/patch-src_libslic3r_SupportSpotsGenerator.cpp @@ -1,6 +1,6 @@ ---- src/libslic3r/SupportSpotsGenerator.cpp.orig 2024-12-20 11:54:34 UTC +--- src/libslic3r/SupportSpotsGenerator.cpp.orig 2025-04-10 11:26:51 UTC +++ src/libslic3r/SupportSpotsGenerator.cpp -@@ -1062,7 +1062,7 @@ SliceMappings update_active_object_parts(const Layer +@@ -1063,7 +1063,7 @@ SliceMappings update_active_object_parts(const Layer } } const float bottom_z = layer->bottom_z(); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r-arrange_include_arrange_DataStoreTraits.hpp b/cad/PrusaSlicer/files/patch-src_slic3r-arrange_include_arrange_DataStoreTraits.hpp deleted file mode 100644 index 53673b209d6c..000000000000 --- a/cad/PrusaSlicer/files/patch-src_slic3r-arrange_include_arrange_DataStoreTraits.hpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/slic3r-arrange/include/arrange/DataStoreTraits.hpp.orig 2025-03-14 14:06:59 UTC -+++ src/slic3r-arrange/include/arrange/DataStoreTraits.hpp -@@ -71,7 +71,7 @@ void set_data(ArrItem &itm, const std::string &key, T - template<class T, class ArrItem> - void set_data(ArrItem &itm, const std::string &key, T &&data) - { -- WritableDataStoreTraits<ArrItem>::template set(itm, key, std::forward<T>(data)); -+ WritableDataStoreTraits<ArrItem>::template set<>(itm, key, std::forward<T>(data)); - } - diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt b/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt index ac4231037482..461c58254e17 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt +++ b/cad/PrusaSlicer/files/patch-src_slic3r_CMakeLists.txt @@ -1,6 +1,6 @@ ---- src/slic3r/CMakeLists.txt.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/CMakeLists.txt.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/CMakeLists.txt -@@ -392,11 +392,12 @@ set(SLIC3R_GUI_SOURCES +@@ -396,11 +396,12 @@ set(SLIC3R_GUI_SOURCES Utils/ServiceConfig.cpp ) @@ -15,7 +15,7 @@ if (APPLE) list(APPEND SLIC3R_GUI_SOURCES Utils/RetinaHelperImpl.mm -@@ -433,14 +434,13 @@ encoding_check(libslic3r_gui) +@@ -437,14 +438,13 @@ encoding_check(libslic3r_gui) endforeach() encoding_check(libslic3r_gui) @@ -31,7 +31,7 @@ imgui libvgcode GLEW::GLEW -@@ -454,10 +454,29 @@ target_link_libraries( +@@ -458,10 +458,29 @@ target_link_libraries( fastfloat boost_headeronly ) 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 b1d6ed311fab..1def80f660f4 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__App.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_GUI__App.cpp @@ -1,4 +1,4 @@ ---- src/slic3r/GUI/GUI_App.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/GUI_App.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/GUI_App.cpp @@ -412,7 +412,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, -@@ -1344,6 +1344,9 @@ bool GUI_App::on_init_inner() +@@ -1342,6 +1342,9 @@ bool GUI_App::on_init_inner() // Set initialization of image handlers before any UI actions - See GH issue #7469 wxInitAllImageHandlers(); @@ -19,7 +19,7 @@ // Set our own gui log as an active target m_log_gui = new LogGui(); wxLog::SetActiveTarget(m_log_gui); -@@ -1374,7 +1377,7 @@ bool GUI_App::on_init_inner() +@@ -1372,7 +1375,7 @@ bool GUI_App::on_init_inner() const wxString resources_dir = from_u8(Slic3r::resources_dir()); wxCHECK_MSG(wxDirExists(resources_dir), false, wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir)); @@ -28,7 +28,7 @@ if (! check_old_linux_datadir(GetAppName())) { std::cerr << "Quitting, user chose to move their data to new location." << std::endl; return false; -@@ -1479,7 +1482,7 @@ bool GUI_App::on_init_inner() +@@ -1477,7 +1480,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"); @@ -37,7 +37,7 @@ wxYield(); #endif scrn->SetText(_L("Loading configuration")+ dots); -@@ -1649,7 +1652,7 @@ bool GUI_App::on_init_inner() +@@ -1660,7 +1663,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. @@ -46,7 +46,7 @@ if (!m_post_initialized && m_opengl_initialized) { #else if (!m_post_initialized) { -@@ -2339,7 +2342,7 @@ bool GUI_App::switch_language() +@@ -2350,7 +2353,7 @@ bool GUI_App::switch_language() } } @@ -55,7 +55,7 @@ static const wxLanguageInfo* linux_get_existing_locale_language(const wxLanguageInfo* language, const wxLanguageInfo* system_language) { -@@ -2541,7 +2544,7 @@ bool GUI_App::load_language(wxString language, bool in +@@ -2552,7 +2555,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(); } @@ -64,7 +64,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. -@@ -2550,6 +2553,7 @@ bool GUI_App::load_language(wxString language, bool in +@@ -2561,6 +2564,7 @@ bool GUI_App::load_language(wxString language, bool in } #endif } @@ -72,7 +72,7 @@ } const wxLanguageInfo *language_info = language.empty() ? nullptr : wxLocale::FindLanguageInfo(language); -@@ -2594,7 +2598,7 @@ bool GUI_App::load_language(wxString language, bool in +@@ -2605,7 +2609,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; @@ -81,7 +81,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)) { -@@ -2715,7 +2719,7 @@ wxMenu* GUI_App::get_config_menu(MainFrame* main_frame +@@ -2726,7 +2730,7 @@ wxMenu* GUI_App::get_config_menu(MainFrame* main_frame 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")); @@ -90,7 +90,7 @@ //if (DesktopIntegrationDialog::integration_possible()) local_menu->Append(config_id_base + ConfigMenuDesktopIntegration, _L("Desktop Integration"), _L("Desktop Integration")); #endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) -@@ -2749,7 +2753,7 @@ wxMenu* GUI_App::get_config_menu(MainFrame* main_frame +@@ -2760,7 +2764,7 @@ wxMenu* GUI_App::get_config_menu(MainFrame* main_frame case ConfigMenuUpdateApp: app_version_check(true); break; @@ -99,7 +99,7 @@ case ConfigMenuDesktopIntegration: show_desktop_integration_dialog(); break; -@@ -3393,7 +3397,7 @@ void GUI_App::show_desktop_integration_dialog() +@@ -3404,7 +3408,7 @@ void GUI_App::show_desktop_integration_dialog() void GUI_App::show_desktop_integration_dialog() { @@ -108,7 +108,7 @@ //wxCHECK_MSG(mainframe != nullptr, false, "Internal error: Main frame not created / null"); DesktopIntegrationDialog dialog(mainframe); dialog.ShowModal(); -@@ -3413,7 +3417,7 @@ void GUI_App::show_downloader_registration_dialog() +@@ -3424,7 +3428,7 @@ void GUI_App::show_downloader_registration_dialog() if (msg.ShowModal() == wxID_YES) { auto downloader_worker = new DownloaderUtils::Worker(nullptr); downloader_worker->perform_download_register(app_config->get("url_downloader_dest")); @@ -117,7 +117,7 @@ if (DownloaderUtils::Worker::perform_registration_linux) DesktopIntegrationDialog::perform_downloader_desktop_integration(); #endif //(__linux__) && defined(SLIC3R_DESKTOP_INTEGRATION) -@@ -3828,7 +3832,7 @@ void GUI_App::start_download(std::string url) +@@ -3839,7 +3843,7 @@ void GUI_App::start_download(std::string url) return; } 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 cbb831f8654e..2f3d8a168081 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 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/GUI_Factories.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/GUI_Factories.cpp -@@ -1499,7 +1499,7 @@ void MenuFactory::sys_color_changed(wxMenuBar* menubar +@@ -1500,7 +1500,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_InstanceCheck.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.cpp index d60906306662..82a8e40a8cd4 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/InstanceCheck.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/InstanceCheck.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/InstanceCheck.cpp -@@ -27,7 +27,7 @@ +@@ -31,7 +31,7 @@ #include <strsafe.h> #endif //WIN32 @@ -9,16 +9,16 @@ #include <dbus/dbus.h> /* Pull in all of D-Bus headers. */ #endif //__linux__ -@@ -240,7 +240,7 @@ namespace instance_check_internal +@@ -316,7 +316,7 @@ namespace instance_check_internal return false; } -#elif defined(__linux__) +#elif defined(__linux__) || defined (__FreeBSD__) - static bool send_message(const std::string &message_text, const std::string &version) + static void list_matching_objects(const std::string& pattern, std::vector<std::string>& result) { -@@ -328,7 +328,7 @@ bool instance_check(int argc, char** argv, bool app_co +@@ -561,7 +561,7 @@ bool instance_check(int argc, char** argv, bool app_co hashed_path = std::hash<std::string>{}(boost::filesystem::system_complete(argv[0]).string()); #else boost::system::error_code ec; diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.hpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.hpp index ee54ff98e56c..d16d4bdb14b7 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.hpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_InstanceCheck.hpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/InstanceCheck.hpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/InstanceCheck.hpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/InstanceCheck.hpp -@@ -15,7 +15,7 @@ +@@ -16,7 +16,7 @@ #include <boost/filesystem.hpp> @@ -9,7 +9,7 @@ #include <boost/thread.hpp> #include <mutex> #include <condition_variable> -@@ -42,7 +42,7 @@ class MainFrame; +@@ -44,7 +44,7 @@ class MainFrame; class MainFrame; diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_PhysicalPrinterDialog.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_PhysicalPrinterDialog.cpp deleted file mode 100644 index 9ad1afe5b965..000000000000 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_PhysicalPrinterDialog.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/slic3r/GUI/PhysicalPrinterDialog.cpp.orig 2024-12-20 11:54:34 UTC -+++ src/slic3r/GUI/PhysicalPrinterDialog.cpp -@@ -607,7 +607,7 @@ void PhysicalPrinterDialog::build_printhost_settings(C - // Always fill in the "printhost_port" combo box from the config and select it. - { - Choice* choice = dynamic_cast<Choice*>(m_optgroup->get_field("printhost_port")); -- choice->set_values({ m_config->opt_string("printhost_port") }); -+ choice->set_values((const std::vector<std::string>){ m_config->opt_string("printhost_port") }); - choice->set_selection(); - } - diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Plater.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Plater.cpp index 6afe5c8cc67b..e39aa6634b5d 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Plater.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Plater.cpp @@ -1,4 +1,4 @@ ---- src/slic3r/GUI/Plater.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/Plater.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/Plater.cpp @@ -24,7 +24,7 @@ @@ -9,7 +9,7 @@ #include <numeric> #include <vector> #include <string> -@@ -912,7 +912,7 @@ void Plater::priv::init() +@@ -926,7 +926,7 @@ void Plater::priv::init() auto open_external_login = [this](wxCommandEvent& evt){ DownloaderUtils::Worker::perform_url_register(); @@ -18,7 +18,7 @@ // Remove all desktop files registering prusaslicer:// url done by previous versions. DesktopIntegrationDialog::undo_downloader_registration_rigid(); #if defined(SLIC3R_DESKTOP_INTEGRATION) -@@ -1228,7 +1228,7 @@ std::vector<size_t> Plater::priv::load_files(const std +@@ -1276,7 +1276,7 @@ std::vector<size_t> Plater::priv::load_files(const std // when loading a project file. However, creating the dialog on heap causes issues on macOS, where it does not // appear at all. Therefore, we create the dialog on stack on Win and macOS, and on heap on Linux, which // is the only system that needed the workarounds in the first place. @@ -27,16 +27,16 @@ auto progress_dlg = new wxProgressDialog(loading, "", 100, find_toplevel_parent(q), wxPD_APP_MODAL | wxPD_AUTO_HIDE); Slic3r::ScopeGuard([&progress_dlg](){ if (progress_dlg) progress_dlg->Destroy(); progress_dlg = nullptr; }); #else -@@ -1285,7 +1285,7 @@ std::vector<size_t> Plater::priv::load_files(const std +@@ -1348,7 +1348,7 @@ std::vector<size_t> Plater::priv::load_files(const std + Slic3r::Model model; + bool is_project_file = false; - try { - if (type_3mf || type_zip_amf) { -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) - // On Linux Constructor of the ProgressDialog calls DisableOtherWindows() function which causes a disabling of all children of the find_toplevel_parent(q) - // And a destructor of the ProgressDialog calls ReenableOtherWindows() function which revert previously disabled children. - // But if printer technology will be changes during project loading, -@@ -3552,7 +3552,7 @@ void Plater::priv::on_right_click(RBtnEvent& evt) + // On Linux Constructor of the ProgressDialog calls DisableOtherWindows() function which causes a disabling of all children of the find_toplevel_parent(q) + // And a destructor of the ProgressDialog calls ReenableOtherWindows() function which revert previously disabled children. + // But if printer technology will be changes during project loading, +@@ -3591,7 +3591,7 @@ void Plater::priv::on_right_click(RBtnEvent& evt) Vec2d mouse_position = evt.data.first; wxPoint position(static_cast<int>(mouse_position.x()), static_cast<int>(mouse_position.y())); @@ -45,11 +45,11 @@ // For some reason on Linux the menu isn't displayed if position is // specified (even though the position is sane). position = wxDefaultPosition; -@@ -4420,7 +4420,7 @@ void Plater::load_project(const wxString& filename) - s_multiple_beds.set_loading_project_flag(true); +@@ -4460,7 +4460,7 @@ void Plater::load_project(const wxString& filename) ScopeGuard guard([](){ s_multiple_beds.set_loading_project_flag(false);}); -- if (! load_files({ into_path(filename) }).empty()) { + const std::vector<fs::path>& input_paths = { into_path(filename) }; +- if (! load_files(input_paths).empty()) { + if (! load_files((const std::vector<boost::filesystem::path>){ into_path(filename) }).empty()) { // At least one file was loaded. p->set_project_filename(filename); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp index 4e6cb067029a..9a78a4c1706e 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Preferences.cpp @@ -1,4 +1,4 @@ ---- src/slic3r/GUI/Preferences.cpp.orig 2025-02-20 20:11:25 UTC +--- src/slic3r/GUI/Preferences.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/Preferences.cpp @@ -29,7 +29,7 @@ #ifdef WIN32
diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Tab.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Tab.cpp index 8440ed1e9b42..1677eaacc3b4 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Tab.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_Tab.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/Tab.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/Tab.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/Tab.cpp -@@ -279,7 +279,7 @@ void Tab::create_preset_tab() +@@ -280,7 +280,7 @@ void Tab::create_preset_tab() m_treectrl = new wxTreeCtrl(panel, wxID_ANY, wxDefaultPosition, wxSize(20 * m_em_unit, -1), wxTR_NO_BUTTONS | wxTR_HIDE_ROOT | wxTR_SINGLE | wxTR_NO_LINES | wxBORDER_SUNKEN | wxWANTS_CHARS); m_treectrl->SetFont(wxGetApp().normal_font()); @@ -9,7 +9,7 @@ m_treectrl->SetBackgroundColour(m_parent->GetBackgroundColour()); #endif m_left_sizer->Add(m_treectrl, 1, wxEXPAND); -@@ -293,7 +293,7 @@ void Tab::create_preset_tab() +@@ -294,7 +294,7 @@ void Tab::create_preset_tab() // This helps to process all the cursor key events on Windows in the tree control, // so that the cursor jumps to the last item. m_treectrl->Bind(wxEVT_TREE_SEL_CHANGED, [this](wxTreeEvent&) { @@ -18,7 +18,7 @@ // Events queue is opposite On Linux. wxEVT_SET_FOCUS invokes after wxEVT_TREE_SEL_CHANGED, // and a result wxEVT_KILL_FOCUS doesn't invoke for the TextCtrls. // see https://github.com/prusa3d/PrusaSlicer/issues/5720 -@@ -4158,7 +4158,7 @@ bool Tab::tree_sel_change_delayed() +@@ -4181,7 +4181,7 @@ bool Tab::tree_sel_change_delayed() // There is a bug related to Ubuntu overlay scrollbars, see https://github.com/prusa3d/PrusaSlicer/issues/898 and https://github.com/prusa3d/PrusaSlicer/issues/952. // The issue apparently manifests when Show()ing a window with overlay scrollbars while the UI is frozen. For this reason, // we will Thaw the UI prematurely on Linux. This means destroing the no_updates object prematurely. @@ -27,7 +27,7 @@ std::unique_ptr<wxWindowUpdateLocker> no_updates(new wxWindowUpdateLocker(this)); #else /* On Windows we use DoubleBuffering during rendering, -@@ -4204,7 +4204,7 @@ bool Tab::tree_sel_change_delayed() +@@ -4227,7 +4227,7 @@ bool Tab::tree_sel_change_delayed() if (wxGetApp().mainframe!=nullptr && wxGetApp().mainframe->is_active_and_shown_tab(this)) activate_selected_page(throw_if_canceled); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_UserAccountCommunication.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_UserAccountCommunication.cpp index 2ac1dfa7edf9..006c94c62c1b 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_UserAccountCommunication.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_UserAccountCommunication.cpp @@ -1,14 +1,6 @@ ---- src/slic3r/GUI/UserAccountCommunication.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/UserAccountCommunication.cpp.orig 2025-04-15 11:04:24 UTC +++ src/slic3r/GUI/UserAccountCommunication.cpp -@@ -13,6 +13,7 @@ - #include <boost/filesystem.hpp> - #include <boost/nowide/cstdio.hpp> - #include <boost/nowide/fstream.hpp> -+#include <boost/nowide/convert.hpp> - #include <curl/curl.h> - #include <string> - -@@ -37,7 +38,7 @@ +@@ -38,7 +38,7 @@ #include <CommonCrypto/CommonDigest.h> #endif @@ -17,30 +9,30 @@ #include <openssl/evp.h> #include <openssl/bio.h> #include <openssl/buffer.h> -@@ -137,7 +138,7 @@ bool load_secret(const std::string& opt, std::string& +@@ -140,7 +140,7 @@ bool load_secret(const std::string& opt, std::string& #endif // wxUSE_SECRETSTORE } -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) - void load_refresh_token_linux(std::string& refresh_token) + void load_tokens_linux(UserAccountCommunication::StoreData& result) { // Load refresh token from UserAccount.dat -@@ -201,7 +202,7 @@ UserAccountCommunication::UserAccountCommunication(wxE - shared_session_key = key0; - - } else { +@@ -317,7 +317,7 @@ void UserAccountCommunication::set_username(const std: + BOOST_LOG_TRIVIAL(error) << "Failed to write tokens to the secret store."; + } + } else { -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) - load_refresh_token_linux(refresh_token); - #endif - } -@@ -252,7 +253,7 @@ void UserAccountCommunication::set_username(const std: - save_secret("tokens", m_session->get_shared_session_key(), tokens); + // If we can't store the tokens in secret store, store them in file with chmod 600 + boost::filesystem::path target(boost::filesystem::path(Slic3r::data_dir()) / "UserAccount.dat") ; + std::string data = "||||"; +@@ -640,7 +640,7 @@ void UserAccountCommunication::read_stored_data(UserAc } - else { + result.shared_session_key = key0; + } else { -#ifdef __linux__ +#if defined(__linux__) || defined(__FreeBSD__) - // If we can't store the tokens in secret store, store them in file with chmod 600 - boost::filesystem::path target(boost::filesystem::path(Slic3r::data_dir()) / "UserAccount.dat") ; - std::string data = m_session->get_refresh_token(); + load_tokens_linux(result); + #endif + } diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_wxExtensions.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_wxExtensions.cpp index 1c500e9375d2..2f85e5e66712 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_GUI_wxExtensions.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_GUI_wxExtensions.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/GUI/wxExtensions.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/GUI/wxExtensions.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/GUI/wxExtensions.cpp -@@ -28,7 +28,7 @@ +@@ -29,7 +29,7 @@ #include "libslic3r/Color.hpp" @@ -9,7 +9,7 @@ // msw_menuitem_bitmaps is used for MSW and OSX static std::map<int, std::string> msw_menuitem_bitmaps; void sys_color_changed_menu(wxMenu* menu) -@@ -137,7 +137,7 @@ wxMenuItem* append_menu_item(wxMenu* menu, int id, con +@@ -142,7 +142,7 @@ wxMenuItem* append_menu_item(wxMenu* menu, int id, con wxBitmapBundle* bmp = icon.empty() ? nullptr : get_bmp_bundle(icon); @@ -18,7 +18,7 @@ if (bmp && bmp->IsOk()) msw_menuitem_bitmaps[id] = icon; #endif /* no __linux__ */ -@@ -155,7 +155,7 @@ wxMenuItem* append_submenu(wxMenu* menu, wxMenu* sub_m +@@ -160,7 +160,7 @@ wxMenuItem* append_submenu(wxMenu* menu, wxMenu* sub_m if (!icon.empty()) { item->SetBitmap(*get_bmp_bundle(icon)); @@ -27,7 +27,7 @@ msw_menuitem_bitmaps[id] = icon; #endif // no __linux__ } -@@ -218,7 +218,7 @@ void set_menu_item_bitmap(wxMenuItem* item, const std: +@@ -223,7 +223,7 @@ void set_menu_item_bitmap(wxMenuItem* item, const std: void set_menu_item_bitmap(wxMenuItem* item, const std::string& icon_name) { item->SetBitmap(*get_bmp_bundle(icon_name)); diff --git a/cad/PrusaSlicer/files/patch-src_slic3r_Utils_WifiScanner.cpp b/cad/PrusaSlicer/files/patch-src_slic3r_Utils_WifiScanner.cpp index 0d5b53bf59c8..f8855f0fc315 100644 --- a/cad/PrusaSlicer/files/patch-src_slic3r_Utils_WifiScanner.cpp +++ b/cad/PrusaSlicer/files/patch-src_slic3r_Utils_WifiScanner.cpp @@ -1,6 +1,6 @@ ---- src/slic3r/Utils/WifiScanner.cpp.orig 2024-12-20 11:54:34 UTC +--- src/slic3r/Utils/WifiScanner.cpp.orig 2025-04-10 11:26:51 UTC +++ src/slic3r/Utils/WifiScanner.cpp -@@ -16,7 +16,7 @@ +@@ -18,7 +18,7 @@ #include "WifiScannerMac.h" #endif @@ -9,7 +9,7 @@ #include <dbus/dbus.h> /* Pull in all of D-Bus headers. */ #endif //__linux__ -@@ -353,7 +353,7 @@ std::string WifiScanner::get_psk(const std::string& ss +@@ -355,7 +355,7 @@ std::string WifiScanner::get_psk(const std::string& ss } return {}; } @@ -18,7 +18,7 @@ #ifdef _WIN32 // Fill SSID map. Implementation from Raspberry Pi imager and Win32 Api examples. // https://github.com/raspberrypi/rpi-imager/blob/qml/src/windows/winwlancredentials.cpp -@@ -489,4 +489,4 @@ void WifiScanner::fill_wifi_map(Slic3r::WifiSsidPskMap +@@ -491,4 +491,4 @@ void WifiScanner::fill_wifi_map(Slic3r::WifiSsidPskMap wlanFreeMemoryFunc(interface_list); } #endif // _WIN32 diff --git a/cad/PrusaSlicer/files/patch-tests_fff__print_test__data.cpp b/cad/PrusaSlicer/files/patch-tests_fff__print_test__data.cpp index 57c842839110..fa015d32db30 100644 --- a/cad/PrusaSlicer/files/patch-tests_fff__print_test__data.cpp +++ b/cad/PrusaSlicer/files/patch-tests_fff__print_test__data.cpp @@ -1,6 +1,6 @@ ---- tests/fff_print/test_data.cpp.orig 2024-12-20 11:54:34 UTC +--- tests/fff_print/test_data.cpp.orig 2025-04-10 11:26:51 UTC +++ tests/fff_print/test_data.cpp -@@ -10,6 +10,7 @@ +@@ -11,6 +11,7 @@ #include <arrange-wrapper/ModelArrange.hpp> #include <cstdlib> diff --git a/cad/PrusaSlicer/pkg-plist b/cad/PrusaSlicer/pkg-plist index 451394fa3823..9bcb93c21b52 100644 --- a/cad/PrusaSlicer/pkg-plist +++ b/cad/PrusaSlicer/pkg-plist @@ -3,6 +3,15 @@ bin/prusa-slicer lib/OCCTWrapper.so %%DATADIR%%/data/embossed_text.obj %%DATADIR%%/data/hints.ini +%%DATADIR%%/data/printer_gantries/geometries.json +%%DATADIR%%/data/printer_gantries/prusa3d_coreone_gantry.stl +%%DATADIR%%/data/printer_gantries/prusa3d_ht90_actuator.stl +%%DATADIR%%/data/printer_gantries/prusa3d_mini_gantry.stl +%%DATADIR%%/data/printer_gantries/prusa3d_mk3s_gantry.stl +%%DATADIR%%/data/printer_gantries/prusa3d_mk4_gantry.stl +%%DATADIR%%/data/printer_gantries/prusa3d_mk4s_gantry.stl +%%DATADIR%%/data/printer_gantries/prusa3d_xl_gantry.stl +%%DATADIR%%/data/sla_support.svg %%DATADIR%%/fonts/NotoSans-Regular.ttf %%DATADIR%%/fonts/NotoSansCJK-Regular.ttc %%DATADIR%%/fonts/README.txt @@ -274,6 +283,11 @@ lib/OCCTWrapper.so %%DATADIR%%/icons/sla_view_processed.svg %%DATADIR%%/icons/slice_all.svg %%DATADIR%%/icons/snap.svg +%%DATADIR%%/icons/sphere_blueish.svg +%%DATADIR%%/icons/sphere_cyan.svg +%%DATADIR%%/icons/sphere_lightgray.svg +%%DATADIR%%/icons/sphere_orange.svg +%%DATADIR%%/icons/sphere_redish.svg %%DATADIR%%/icons/spin_dec.svg %%DATADIR%%/icons/spin_dec_act.svg %%DATADIR%%/icons/spin_inc.svg @@ -289,6 +303,8 @@ lib/OCCTWrapper.so %%DATADIR%%/icons/support.svg %%DATADIR%%/icons/support_blocker.svg %%DATADIR%%/icons/support_enforcer.svg +%%DATADIR%%/icons/support_structure.svg +%%DATADIR%%/icons/support_structure_invisible.svg %%DATADIR%%/icons/svg_modifier.svg %%DATADIR%%/icons/svg_negative.svg %%DATADIR%%/icons/svg_part.svg @@ -577,6 +593,8 @@ lib/OCCTWrapper.so %%DATADIR%%/profiles/Creality/sermoond1_bed.stl %%DATADIR%%/profiles/Creality/sermoonv1.svg %%DATADIR%%/profiles/Creality/sermoonv1_bed.stl +%%DATADIR%%/profiles/E2D.idx +%%DATADIR%%/profiles/E2D.ini %%DATADIR%%/profiles/Elegoo.idx %%DATADIR%%/profiles/Elegoo.ini %%DATADIR%%/profiles/Elegoo/NEPTUNE1_thumbnail.png @@ -717,6 +735,7 @@ lib/OCCTWrapper.so %%DATADIR%%/profiles/Print4Taste/MC2.0_thumbnail.png %%DATADIR%%/profiles/PrusaResearch.idx %%DATADIR%%/profiles/PrusaResearch.ini +%%DATADIR%%/profiles/PrusaResearch/COREONE_thumbnail.png %%DATADIR%%/profiles/PrusaResearch/MINIIS_ALPHA_thumbnail.png %%DATADIR%%/profiles/PrusaResearch/MINIIS_BETA_thumbnail.png %%DATADIR%%/profiles/PrusaResearch/MINIIS_thumbnail.png @@ -756,6 +775,8 @@ lib/OCCTWrapper.so %%DATADIR%%/profiles/PrusaResearch/XLIS_beta_thumbnail.png %%DATADIR%%/profiles/PrusaResearch/XLIS_thumbnail.png %%DATADIR%%/profiles/PrusaResearch/XL_thumbnail.png +%%DATADIR%%/profiles/PrusaResearch/coreone.svg +%%DATADIR%%/profiles/PrusaResearch/coreone_bed.stl %%DATADIR%%/profiles/PrusaResearch/mini.svg %%DATADIR%%/profiles/PrusaResearch/miniIS.svg %%DATADIR%%/profiles/PrusaResearch/miniISbeta.svg @@ -783,6 +804,8 @@ lib/OCCTWrapper.so %%DATADIR%%/profiles/PrusaResearchSLA/sl1_bed.stl %%DATADIR%%/profiles/PrusaResearchSLA/sl1s.svg %%DATADIR%%/profiles/PrusaResearchSLA/sl1s_bed.stl +%%DATADIR%%/profiles/QIDITechnology.idx +%%DATADIR%%/profiles/QIDITechnology.ini %%DATADIR%%/profiles/RatRig.idx %%DATADIR%%/profiles/RatRig.ini %%DATADIR%%/profiles/RatRig/VC3_300_thumbnail.png @@ -973,6 +996,8 @@ lib/OCCTWrapper.so %%DATADIR%%/shaders/110/mm_gouraud.vs %%DATADIR%%/shaders/110/printbed.fs %%DATADIR%%/shaders/110/printbed.vs +%%DATADIR%%/shaders/110/tool_marker.fs +%%DATADIR%%/shaders/110/tool_marker.vs %%DATADIR%%/shaders/110/toolpaths_cog.fs %%DATADIR%%/shaders/110/toolpaths_cog.vs %%DATADIR%%/shaders/110/variable_layer_height.fs @@ -1004,6 +1029,8 @@ lib/OCCTWrapper.so %%DATADIR%%/shaders/140/mm_gouraud.vs %%DATADIR%%/shaders/140/printbed.fs %%DATADIR%%/shaders/140/printbed.vs +%%DATADIR%%/shaders/140/tool_marker.fs +%%DATADIR%%/shaders/140/tool_marker.vs %%DATADIR%%/shaders/140/toolpaths_cog.fs %%DATADIR%%/shaders/140/toolpaths_cog.vs %%DATADIR%%/shaders/140/variable_layer_height.fs @@ -1034,6 +1061,8 @@ lib/OCCTWrapper.so %%DATADIR%%/shaders/ES/mm_gouraud.vs %%DATADIR%%/shaders/ES/printbed.fs %%DATADIR%%/shaders/ES/printbed.vs +%%DATADIR%%/shaders/ES/tool_marker.fs +%%DATADIR%%/shaders/ES/tool_marker.vs %%DATADIR%%/shaders/ES/toolpaths_cog.fs %%DATADIR%%/shaders/ES/toolpaths_cog.vs %%DATADIR%%/shaders/ES/variable_layer_height.fs |