diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 93d9e3e2e..594813828 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1423,6 +1423,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()) @@ -3220,7 +3228,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 d07879e10..497192b41 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -797,6 +797,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 */