diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index f62c7fc1c..4837eb415 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -45,7 +45,6 @@ using Slic3r::GUI::Config::SnapshotDB; // FIXME: Incompat bundle resolution doesn't deal with inherited user presets - namespace Slic3r { @@ -562,7 +561,8 @@ void PresetUpdater::priv::sync_resources(std::string http_url, std::mapsecond.version; // Semver current_version = get_version_from_json(vendor_root_config.string()); Semver current_version = resource.version; - if (current_version < online_version) { + bool version_match = ((online_version.maj() == current_version.maj()) && (online_version.min() == current_version.min())); + if (version_match && (current_version < online_version)) { if (cancel) { return; } // need to download the online files @@ -734,7 +734,8 @@ void PresetUpdater::priv::sync_config(std::string http_url, const VendorMap vend Semver online_version = vendor_update->second.first; //Semver current_version = get_version_from_json(vendor_root_config.string()); Semver current_version = vendor_profile.config_version; - if (current_version < online_version) { + bool version_match = ((online_version.maj() == current_version.maj()) && (online_version.min() == current_version.min())); + if (version_match && (current_version < online_version)) { auto cache_file = cache_path / (vendor_name+".json"); auto cache_print_dir = (cache_path / vendor_name / PRESET_PRINT_NAME); auto cache_filament_dir = (cache_path / vendor_name / PRESET_FILAMENT_NAME); @@ -745,7 +746,8 @@ void PresetUpdater::priv::sync_config(std::string http_url, const VendorMap vend &&( fs::exists(cache_filament_dir)) &&( fs::exists(cache_machine_dir))) { Semver version = get_version_from_json(cache_file.string()); - if (version >= online_version) { + bool cached_version_match = ((online_version.maj() == version.maj()) && (online_version.min() == version.min())); + if (cached_version_match && (version >= online_version)) { //already downloaded before BOOST_LOG_TRIVIAL(info) << "[BBL Updater]Vendor " << vendor_name << ", already cached a version "<