FIX: safe the ams_id traverse
jira: [none] Change-Id: I58b7769f843f3dbef8b51a15768711257f590dba
This commit is contained in:
parent
b9ec612416
commit
f0efb9af0d
|
@ -54,6 +54,20 @@ struct FilamentInfo
|
||||||
/*for new ams mapping*/
|
/*for new ams mapping*/
|
||||||
std::string ams_id;
|
std::string ams_id;
|
||||||
std::string slot_id;
|
std::string slot_id;
|
||||||
|
|
||||||
|
public:
|
||||||
|
int get_amd_id() const
|
||||||
|
{
|
||||||
|
if (ams_id.empty()) { return -1; };
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return stoi(ams_id);
|
||||||
|
}
|
||||||
|
catch (...) {};
|
||||||
|
|
||||||
|
return -1;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class BBLSliceInfo {
|
class BBLSliceInfo {
|
||||||
|
|
|
@ -1243,7 +1243,7 @@ bool MachineObject::need_SD_card() const
|
||||||
|
|
||||||
int MachineObject::get_extruder_id_by_ams_id(const std::string &ams_id)
|
int MachineObject::get_extruder_id_by_ams_id(const std::string &ams_id)
|
||||||
{
|
{
|
||||||
if (ams_id.empty())
|
if (ams_id.empty() || (ams_id == "-1"))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
auto it = amsList.find(ams_id);
|
auto it = amsList.find(ams_id);
|
||||||
|
|
|
@ -2105,7 +2105,7 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event)
|
||||||
//check blacklist
|
//check blacklist
|
||||||
for (auto i = 0; i < m_ams_mapping_result.size(); i++) {
|
for (auto i = 0; i < m_ams_mapping_result.size(); i++) {
|
||||||
|
|
||||||
const auto& ams_id = m_ams_mapping_result[i].ams_id;
|
const auto& ams_id = m_ams_mapping_result[i].get_amd_id();
|
||||||
auto tid = m_ams_mapping_result[i].tray_id;
|
auto tid = m_ams_mapping_result[i].tray_id;
|
||||||
|
|
||||||
std::string filament_type = boost::to_upper_copy(m_ams_mapping_result[i].type);
|
std::string filament_type = boost::to_upper_copy(m_ams_mapping_result[i].type);
|
||||||
|
@ -2121,7 +2121,7 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event)
|
||||||
std::string action;
|
std::string action;
|
||||||
std::string info;
|
std::string info;
|
||||||
|
|
||||||
DeviceManager::check_filaments_in_blacklist(filament_brand, filament_type, stoi(ams_id), in_blacklist, action, info);
|
DeviceManager::check_filaments_in_blacklist(filament_brand, filament_type, ams_id, in_blacklist, action, info);
|
||||||
|
|
||||||
if (in_blacklist && action == "warning") {
|
if (in_blacklist && action == "warning") {
|
||||||
wxString prohibited_error = wxString::FromUTF8(info);
|
wxString prohibited_error = wxString::FromUTF8(info);
|
||||||
|
@ -2172,7 +2172,7 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event)
|
||||||
|
|
||||||
for (auto i = 0; i < m_ams_mapping_result.size(); i++) {
|
for (auto i = 0; i < m_ams_mapping_result.size(); i++) {
|
||||||
|
|
||||||
const auto& ams_id = m_ams_mapping_result[i].ams_id;
|
const auto& ams_id = m_ams_mapping_result[i].get_amd_id();
|
||||||
auto tid = m_ams_mapping_result[i].tray_id;
|
auto tid = m_ams_mapping_result[i].tray_id;
|
||||||
|
|
||||||
std::string filament_type = boost::to_upper_copy(m_ams_mapping_result[i].type);
|
std::string filament_type = boost::to_upper_copy(m_ams_mapping_result[i].type);
|
||||||
|
@ -2187,7 +2187,7 @@ void SelectMachineDialog::on_ok_btn(wxCommandEvent &event)
|
||||||
bool in_blacklist = false;
|
bool in_blacklist = false;
|
||||||
std::string action;
|
std::string action;
|
||||||
std::string info;
|
std::string info;
|
||||||
DeviceManager::check_filaments_in_blacklist(filament_brand, filament_type, stoi(ams_id), in_blacklist, action, info);
|
DeviceManager::check_filaments_in_blacklist(filament_brand, filament_type, ams_id, in_blacklist, action, info);
|
||||||
|
|
||||||
if (in_blacklist && action == "prohibition") {
|
if (in_blacklist && action == "prohibition") {
|
||||||
has_prohibited_filament = true;
|
has_prohibited_filament = true;
|
||||||
|
|
Loading…
Reference in New Issue