From caa437773a27ebb1d11f231146011884131003c8 Mon Sep 17 00:00:00 2001 From: YuSanka Date: Fri, 14 Jun 2024 12:51:54 +0200 Subject: [PATCH] ConfigWizard: Fixed a crash on start, when for some of printers wasn't set selected material + Added missed includes and fixed some of warnings --- src/slic3r/GUI/ConfigWizard.cpp | 25 ++++++++++-------------- src/slic3r/GUI/PresetArchiveDatabase.cpp | 1 - src/slic3r/GUI/PresetArchiveDatabase.hpp | 6 ++---- src/slic3r/GUI/TopBarMenus.hpp | 1 + src/slic3r/GUI/UpdatesUIManager.cpp | 7 ++++--- src/slic3r/GUI/UpdatesUIManager.hpp | 3 +++ 6 files changed, 20 insertions(+), 23 deletions(-) diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 7fc6c20fda..992fb38bac 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -3881,25 +3881,20 @@ void ConfigWizard::priv::load_pages_from_archive() any_sla_selected = check_sla_selected(); any_fff_selected = !only_sla_mode && check_fff_selected(); - check_and_install_missing_materials(T_ANY); - update_materials(T_ANY); - if (page_filaments) { - if (any_fff_selected) - page_filaments->reload_presets(); - } - else if(!only_sla_mode) { + if(!only_sla_mode && !page_filaments) add_page(page_filaments = new PageMaterials(q, &filaments, _L("Filament Profiles Selection"), _L("Filaments"), _L("Type:"))); - } - - if (page_sla_materials) { - if (any_sla_selected) - page_sla_materials->reload_presets(); - } - else { + if (!page_sla_materials) add_page(page_sla_materials = new PageMaterials(q, &sla_materials, _L("SLA Material Profiles Selection") + " ", _L("SLA Materials"), _L("Type:"))); - } + + check_and_install_missing_materials(T_ANY); + update_materials(T_ANY); + if (any_fff_selected) + page_filaments->reload_presets(); + + if (any_sla_selected) + page_sla_materials->reload_presets(); load_pages(); } diff --git a/src/slic3r/GUI/PresetArchiveDatabase.cpp b/src/slic3r/GUI/PresetArchiveDatabase.cpp index 99c264d1bb..695199b680 100644 --- a/src/slic3r/GUI/PresetArchiveDatabase.cpp +++ b/src/slic3r/GUI/PresetArchiveDatabase.cpp @@ -10,7 +10,6 @@ #include "libslic3r/miniz_extension.hpp" #include -#include #include #include #include diff --git a/src/slic3r/GUI/PresetArchiveDatabase.hpp b/src/slic3r/GUI/PresetArchiveDatabase.hpp index 93284339cc..e5720e11a7 100644 --- a/src/slic3r/GUI/PresetArchiveDatabase.hpp +++ b/src/slic3r/GUI/PresetArchiveDatabase.hpp @@ -4,15 +4,13 @@ #include "Event.hpp" #include +#include #include #include +#include #include -namespace boost::filesystem { -class path; -} - namespace Slic3r { class AppConfig; namespace GUI { diff --git a/src/slic3r/GUI/TopBarMenus.hpp b/src/slic3r/GUI/TopBarMenus.hpp index 20235cba2e..36eefe522f 100644 --- a/src/slic3r/GUI/TopBarMenus.hpp +++ b/src/slic3r/GUI/TopBarMenus.hpp @@ -2,6 +2,7 @@ #define slic3r_TopBarMenus_hpp_ #include +#include class TopBarItemsCtrl; class wxString; diff --git a/src/slic3r/GUI/UpdatesUIManager.cpp b/src/slic3r/GUI/UpdatesUIManager.cpp index 884f1903ae..14e611f4f0 100644 --- a/src/slic3r/GUI/UpdatesUIManager.cpp +++ b/src/slic3r/GUI/UpdatesUIManager.cpp @@ -14,6 +14,7 @@ #include "format.hpp" #include "Widgets/CheckBox.hpp" +#include namespace fs = boost::filesystem; @@ -177,7 +178,7 @@ void RepositoryUpdateUIManager::fill_grids() { ScalableButton* btn = new ScalableButton(m_parent, wxID_ANY, "open"); btn->SetToolTip(_L("Open folder")); - btn->Bind(wxEVT_BUTTON, [this, &entry](wxCommandEvent& event) { + btn->Bind(wxEVT_BUTTON, [&entry](wxCommandEvent& event) { GUI::desktop_open_folder(entry.source_path.parent_path().make_preferred()); }); add(btn); @@ -293,8 +294,8 @@ bool RepositoryUpdateUIManager::set_selected_repositories() void RepositoryUpdateUIManager::check_selection() { for (const auto& [uuid, is_selected] : m_pad->get_selected_repositories_uuid() ) - if (is_selected && m_selected_uuids.find(uuid) == m_selected_uuids.end() || - !is_selected && m_selected_uuids.find(uuid) != m_selected_uuids.end()) { + if ((is_selected && m_selected_uuids.find(uuid) == m_selected_uuids.end() )|| + (!is_selected && m_selected_uuids.find(uuid) != m_selected_uuids.end())) { m_is_selection_changed = true; return; } diff --git a/src/slic3r/GUI/UpdatesUIManager.hpp b/src/slic3r/GUI/UpdatesUIManager.hpp index f6f31c705f..007694406c 100644 --- a/src/slic3r/GUI/UpdatesUIManager.hpp +++ b/src/slic3r/GUI/UpdatesUIManager.hpp @@ -4,6 +4,9 @@ #define slic3r_GUI_UpdatesUIManager_hpp_ #include "GUI_Utils.hpp" +#include +#include +#include class wxWindow; class wxEvent;