diff --git a/src/slic3r/GUI/ConfigWizard.cpp b/src/slic3r/GUI/ConfigWizard.cpp index 5c6811932e..d42d95f558 100644 --- a/src/slic3r/GUI/ConfigWizard.cpp +++ b/src/slic3r/GUI/ConfigWizard.cpp @@ -2603,7 +2603,7 @@ void ConfigWizard::priv::update_materials(Technology technology) } if (printer) { materials.add_printer(printer); - materials.compatibility_counter[preset.alias]++; + materials.compatibility_counter[preset.alias].insert(printer); } }; diff --git a/src/slic3r/GUI/ConfigWizard_private.hpp b/src/slic3r/GUI/ConfigWizard_private.hpp index 3bbc9649d9..696372b68e 100644 --- a/src/slic3r/GUI/ConfigWizard_private.hpp +++ b/src/slic3r/GUI/ConfigWizard_private.hpp @@ -323,8 +323,8 @@ struct Materials Technology technology; // use vector for the presets to purpose of save of presets sorting in the bundle std::vector presets; - // String is alias of material, size_t number of compatible printers counters - std::map compatibility_counter; + // String is alias of material, set is set of compatible printers + std::map> compatibility_counter; std::set types; std::set printers; @@ -358,7 +358,7 @@ struct Materials size_t get_printer_counter(const Preset* preset) { for (auto it : compatibility_counter) { if (it.first == preset->alias) - return it.second; + return it.second.size(); } return 0; }