FIX:fixed sending print to LAN printer will crash

Change-Id: I067724e8ebef3425a84f6a230685c48fe48ed055
This commit is contained in:
tao wang 2023-04-14 16:34:56 +08:00 committed by Lane.Wei
parent 3af80a8252
commit d930667103
2 changed files with 5 additions and 4 deletions

View file

@ -4110,7 +4110,8 @@ bool DeviceManager::set_selected_machine(std::string dev_id, bool need_disconnec
if (last_selected->second->connection_type() == "lan") { if (last_selected->second->connection_type() == "lan") {
if (last_selected->second->is_connecting() && !need_disconnect) if (last_selected->second->is_connecting() && !need_disconnect)
return false; return false;
m_agent->disconnect_printer();
if (!need_disconnect) {m_agent->disconnect_printer();}
} }
} }
@ -4124,7 +4125,7 @@ bool DeviceManager::set_selected_machine(std::string dev_id, bool need_disconnec
} else { } else {
// lan mode printer reconnect printer // lan mode printer reconnect printer
if (m_agent) { if (m_agent) {
m_agent->disconnect_printer(); if (!need_disconnect) {m_agent->disconnect_printer();}
it->second->reset(); it->second->reset();
it->second->connect(); it->second->connect();
it->second->set_lan_mode_connection_state(true); it->second->set_lan_mode_connection_state(true);

View file

@ -1876,7 +1876,7 @@ void GUI_App::init_networking_callbacks()
} else if (state == ConnectStatus::ConnectStatusFailed) { } else if (state == ConnectStatus::ConnectStatusFailed) {
obj->set_access_code(""); obj->set_access_code("");
obj->set_user_access_code(""); obj->set_user_access_code("");
m_device_manager->set_selected_machine(""); m_device_manager->set_selected_machine("", true);
wxString text; wxString text;
if (msg == "5") { if (msg == "5") {
text = wxString::Format(_L("Incorrect password")); text = wxString::Format(_L("Incorrect password"));
@ -1887,7 +1887,7 @@ void GUI_App::init_networking_callbacks()
} }
event.SetInt(0); event.SetInt(0);
} else if (state == ConnectStatus::ConnectStatusLost) { } else if (state == ConnectStatus::ConnectStatusLost) {
m_device_manager->set_selected_machine(""); m_device_manager->set_selected_machine("", true);
event.SetInt(0); event.SetInt(0);
BOOST_LOG_TRIVIAL(info) << "set_on_local_connect_fn: state = lost"; BOOST_LOG_TRIVIAL(info) << "set_on_local_connect_fn: state = lost";
} else { } else {