fix: scope get_my_machine_list to printers listed under the current printer agent

This commit is contained in:
Ian Chua
2026-09-16 19:48:59 +08:00
parent cf52c81dcd
commit ed59f93456
5 changed files with 7 additions and 6 deletions
+1 -1
View File
@@ -328,7 +328,7 @@ void SelectMObjectPopup::update_user_devices()
} }
m_bind_machine_list.clear(); m_bind_machine_list.clear();
m_bind_machine_list = dev->get_my_machine_list(); m_bind_machine_list = dev->get_my_machine_list(dev->get_current_printer_agent_id());
//sort list //sort list
std::vector<std::pair<std::string, MachineObject*>> user_machine_list; std::vector<std::pair<std::string, MachineObject*>> user_machine_list;
+3 -2
View File
@@ -510,7 +510,7 @@ namespace Slic3r
MachineObject* DeviceManager::get_my_machine(std::string dev_id) MachineObject* DeviceManager::get_my_machine(std::string dev_id)
{ {
auto list = get_my_machine_list(); auto list = get_my_machine_list(get_current_printer_agent_id());
auto it = list.find(dev_id); auto it = list.find(dev_id);
if (it != list.end()) if (it != list.end())
{ {
@@ -571,7 +571,7 @@ namespace Slic3r
{ {
BOOST_LOG_TRIVIAL(info) << "set_selected_machine=" << dev_id BOOST_LOG_TRIVIAL(info) << "set_selected_machine=" << dev_id
<< " cur_selected=" << selected_machine; << " cur_selected=" << selected_machine;
auto my_machine_list = get_my_machine_list(); auto my_machine_list = get_my_machine_list(get_current_printer_agent_id());
auto it = my_machine_list.find(dev_id); auto it = my_machine_list.find(dev_id);
BOOST_LOG_TRIVIAL(info) << "Orca diagnostic: set_selected_machine lookup dev_id=" << dev_id BOOST_LOG_TRIVIAL(info) << "Orca diagnostic: set_selected_machine lookup dev_id=" << dev_id
<< " found=" << (it != my_machine_list.end()) << " found=" << (it != my_machine_list.end())
@@ -585,6 +585,7 @@ namespace Slic3r
<< " dev_connection_type=" << it->second->dev_connection_type; << " dev_connection_type=" << it->second->dev_connection_type;
} else { } else {
BOOST_LOG_TRIVIAL(warning) << "Orca diagnostic: target machine was not found in the current agent's machine list"; BOOST_LOG_TRIVIAL(warning) << "Orca diagnostic: target machine was not found in the current agent's machine list";
return false;
} }
// disconnect last if dev_id difference from previous one // disconnect last if dev_id difference from previous one
+1 -1
View File
@@ -4311,7 +4311,7 @@ void MainFrame::load_printer_url()
if (auto *device_manager = wxGetApp().getDeviceManager()) { if (auto *device_manager = wxGetApp().getDeviceManager()) {
auto *machine = device_manager->get_selected_machine(); auto *machine = device_manager->get_selected_machine();
if (!machine) { if (!machine) {
auto machines = device_manager->get_my_machine_list(); auto machines = device_manager->get_my_machine_list(device_manager->get_current_printer_agent_id());
if (machines.size() == 1) if (machines.size() == 1)
machine = machines.begin()->second; machine = machines.begin()->second;
} }
+1 -1
View File
@@ -1119,7 +1119,7 @@ void SendToPrinterDialog::update_user_printer()
wxArrayString machine_list_name; wxArrayString machine_list_name;
std::map<std::string, MachineObject*> option_list; std::map<std::string, MachineObject*> option_list;
option_list = dev->get_my_machine_list(); option_list = dev->get_my_machine_list(dev->get_current_printer_agent_id());
// same machine only appear once // same machine only appear once
for (auto it = option_list.begin(); it != option_list.end(); it++) { for (auto it = option_list.begin(); it != option_list.end(); it++) {
+1 -1
View File
@@ -2130,7 +2130,7 @@ void SyncAmsInfoDialog::update_user_printer()
std::map<std::string, MachineObject *> option_list; std::map<std::string, MachineObject *> option_list;
// user machine list // user machine list
option_list = dev->get_my_machine_list(); option_list = dev->get_my_machine_list(dev->get_current_printer_agent_id());
// same machine only appear once // same machine only appear once
for (auto it = option_list.begin(); it != option_list.end(); it++) { for (auto it = option_list.begin(); it != option_list.end(); it++) {