From 9744d9a6b1505cc7014963f4859f0315a0fdacfa Mon Sep 17 00:00:00 2001 From: "xin.zhang" Date: Fri, 10 Jan 2025 11:54:33 +0800 Subject: [PATCH] FIX: clear the previous status jira: [STUDIO-9690] Change-Id: Id1df7d7998ac2a03c98514e447bc0ecefcb920b7 --- src/slic3r/GUI/DeviceManager.cpp | 10 +++++++++- src/slic3r/GUI/DeviceManager.hpp | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) 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 */