diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 33d0bcbb3..21a2b6633 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2938,7 +2938,9 @@ void SelectMachineDialog::on_selection_changed(wxCommandEvent &event) if (obj && !obj->get_lan_mode_connection_state()) { obj->command_get_version(); obj->command_request_push_all(); - if (dev->get_selected_machine()->dev_id != m_printer_last_select) { + if (!dev->get_selected_machine()) { + dev->set_selected_machine(m_printer_last_select, true); + }else if (dev->get_selected_machine()->dev_id != m_printer_last_select) { dev->set_selected_machine(m_printer_last_select, true); } // Has changed machine unrecoverably diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index 0dc159f93..f63294145 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -978,10 +978,16 @@ void SendToPrinterDialog::on_selection_changed(wxCommandEvent &event) } } - if (obj) { + if (obj && !obj->get_lan_mode_connection_state()) { obj->command_get_version(); - dev->set_selected_machine(m_printer_last_select); - } else { + obj->command_request_push_all(); + if (!dev->get_selected_machine()) { + dev->set_selected_machine(m_printer_last_select, true); + }else if (dev->get_selected_machine()->dev_id != m_printer_last_select) { + dev->set_selected_machine(m_printer_last_select, true); + } + } + else { BOOST_LOG_TRIVIAL(error) << "on_selection_changed dev_id not found"; return; }