diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 2419fd4ff9..426acaa5da 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1379,6 +1379,14 @@ std::map MachineObject::get_ams_version() return result; } +void MachineObject::clear_version_info() +{ + air_pump_version_info = ModuleVersionInfo(); + laser_version_info = ModuleVersionInfo(); + cutting_module_version_info = ModuleVersionInfo(); + module_vers.clear(); +} + void MachineObject::store_version_info(const ModuleVersionInfo& info) { if (info.isAirPump()) @@ -3153,7 +3161,7 @@ int MachineObject::parse_json(std::string payload, bool key_field_only) if (j.contains("info")) { if (j["info"].contains("command") && j["info"]["command"].get() == "get_version") { json j_module = j["info"]["module"]; - module_vers.clear(); + clear_version_info(); for (auto it = j_module.begin(); it != j_module.end(); it++) { ModuleVersionInfo ver_info; ver_info.name = (*it)["name"].get(); diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 111d9cfa73..ae6e691d55 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -802,6 +802,8 @@ public: wxString get_upgrade_result_str(int upgrade_err_code); // key: ams_id start as 0,1,2,3 std::map get_ams_version(); + + void clear_version_info(); void store_version_info(const ModuleVersionInfo& info); /* printing */