diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index b4a63f071..f1b4f2dc3 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1770,7 +1770,8 @@ void GUI_App::init_networking_callbacks() obj->is_ams_need_update = false; obj->parse_json(msg); - if (this->m_device_manager->get_selected_machine() == obj && obj->is_ams_need_update) { + auto sel = this->m_device_manager->get_selected_machine(); + if ((sel == obj || sel == nullptr) && obj->is_ams_need_update) { GUI::wxGetApp().sidebar().load_ams_list(obj->dev_id, obj->amsList); } } diff --git a/src/slic3r/GUI/Monitor.cpp b/src/slic3r/GUI/Monitor.cpp index 699906534..6d6604a72 100644 --- a/src/slic3r/GUI/Monitor.cpp +++ b/src/slic3r/GUI/Monitor.cpp @@ -478,6 +478,9 @@ bool MonitorPanel::Show(bool show) obj = dev->get_selected_machine(); if (obj == nullptr) { dev->load_last_machine(); + obj = dev->get_selected_machine(); + if (obj) + GUI::wxGetApp().sidebar().load_ams_list(obj->dev_id, obj->amsList); } else { obj->reset_update_time(); } diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 48ca9750c..76be3be65 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1374,6 +1374,7 @@ void Sidebar::load_ams_list(std::string const &device, std::mapams_list_device = device; + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format(": %1% items") % filament_ams_list.size(); wxGetApp().preset_bundle->filament_ams_list = filament_ams_list; for (auto c : p->combos_filament) c->update();