From 91ad448f00b387b34fc647208ac38201d4b42098 Mon Sep 17 00:00:00 2001 From: Kunlong Ma Date: Thu, 18 Apr 2024 20:41:22 +0800 Subject: [PATCH] FIX: fix Issues with sending multiple devices JIRA: STUDIO-6876 Signed-off-by: Kunlong Ma Change-Id: I33c6a932863fc715c3f0eb5dfd4b299f980a4918 --- src/slic3r/GUI/SendMultiMachinePage.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/slic3r/GUI/SendMultiMachinePage.cpp b/src/slic3r/GUI/SendMultiMachinePage.cpp index c7fefea12..723a8b793 100644 --- a/src/slic3r/GUI/SendMultiMachinePage.cpp +++ b/src/slic3r/GUI/SendMultiMachinePage.cpp @@ -351,12 +351,12 @@ void SendMultiMachinePage::refresh_user_device() for (auto it = user_machine.begin(); it != user_machine.end(); ++it) { SendDeviceItem* di = new SendDeviceItem(scroll_macine_list, it->second); if (m_device_items.find(it->first) != m_device_items.end()) { - m_device_items[it->first]->update_item(di); - di->Destroy(); - } - else { - m_device_items.emplace(std::make_pair(it->first, di)); + auto item = m_device_items[it->first]; + if (item->state_selected == 1 && di->state_printable <= 2) + di->state_selected = item->state_selected; + item->Destroy(); } + m_device_items[it->first] = di; //update state if (task_manager) { @@ -632,7 +632,7 @@ void SendMultiMachinePage::on_send(wxCommandEvent& event) for (auto it = m_device_items.begin(); it != m_device_items.end(); ++it) { auto obj = it->second->get_obj(); - if (obj && obj->is_online() && !obj->can_abort() && !obj->is_in_upgrading() && it->second->get_state_selected() == 1) { + if (obj && obj->is_online() && !obj->can_abort() && !obj->is_in_upgrading() && it->second->get_state_selected() == 1 && it->second->state_printable <= 2) { BBL::PrintParams params = request_params(obj); print_params.push_back(params);