diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index fcc4af70a..5675c6ba8 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -6185,11 +6185,15 @@ void MachineObject::parse_new_info(json print) extder_obj.id = njon["id"].get(); extder_obj.filam_bak.clear(); - const json& filam_bak_items = njon["filam_bak"]; - for (const auto& filam_bak_item : filam_bak_items) + is_support_show_filament_backup = njon.contains("filam_bak"); + if (is_support_show_filament_backup) { - const auto& filam_bak_val = filam_bak_item.get(); - extder_obj.filam_bak.emplace_back(filam_bak_val); + const json& filam_bak_items = njon["filam_bak"]; + for (const auto& filam_bak_item : filam_bak_items) + { + const auto& filam_bak_val = filam_bak_item.get(); + extder_obj.filam_bak.emplace_back(filam_bak_val); + } } extder_obj.enable_change_nozzle= get_flag_bits(njon["info"].get(), 0); diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 4b38d50a7..889a3390b 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -987,7 +987,7 @@ public: bool is_support_aux_fan {false}; bool is_support_chamber_fan{false}; bool is_support_filament_backup{false}; - bool is_support_show_filament_backup{false}; + bool is_support_show_filament_backup{false};/*the filament is not supported shown in some previous hardware*/ bool is_support_timelapse{false}; bool is_support_update_remain{false}; bool is_support_auto_leveling{false};