FIX: fix crash when select a printer in lan mode

Change-Id: I93f604c900a56e938b16bd377031c331ecc20f43
Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
Stone Li 2022-09-01 17:50:56 +08:00 committed by Lane.Wei
parent 89c83fb8a6
commit 7184960dce

View file

@ -549,6 +549,7 @@ void SelectMachinePopup::update_other_devices()
} }
op->Bind(EVT_CONNECT_LAN_PRINT, [this, mobj](wxCommandEvent &e) { op->Bind(EVT_CONNECT_LAN_PRINT, [this, mobj](wxCommandEvent &e) {
if (mobj) {
if (mobj->is_lan_mode_printer()) { if (mobj->is_lan_mode_printer()) {
ConnectPrinterDialog dlg(wxGetApp().mainframe, wxID_ANY, _L("Input access code")); ConnectPrinterDialog dlg(wxGetApp().mainframe, wxID_ANY, _L("Input access code"));
dlg.set_machine_object(mobj); dlg.set_machine_object(mobj);
@ -556,6 +557,7 @@ void SelectMachinePopup::update_other_devices()
wxGetApp().mainframe->jump_to_monitor(mobj->dev_id); wxGetApp().mainframe->jump_to_monitor(mobj->dev_id);
} }
} }
}
}); });
op->Bind(EVT_BIND_MACHINE, [this, mobj](wxCommandEvent &e) { op->Bind(EVT_BIND_MACHINE, [this, mobj](wxCommandEvent &e) {
@ -638,6 +640,7 @@ void SelectMachinePopup::update_user_devices()
} }
op->Bind(EVT_UNBIND_MACHINE, [this, dev, mobj](wxCommandEvent& e) { op->Bind(EVT_UNBIND_MACHINE, [this, dev, mobj](wxCommandEvent& e) {
dev->set_selected_machine(""); dev->set_selected_machine("");
if (mobj)
mobj->set_access_code(""); mobj->set_access_code("");
MessageDialog msg_wingow(nullptr, _L("Log out successful."), "", wxAPPLY | wxOK); MessageDialog msg_wingow(nullptr, _L("Log out successful."), "", wxAPPLY | wxOK);
if (msg_wingow.ShowModal() == wxOK) { return; } if (msg_wingow.ShowModal() == wxOK) { return; }
@ -673,6 +676,7 @@ void SelectMachinePopup::update_user_devices()
} }
op->Bind(EVT_CONNECT_LAN_PRINT, [this, mobj](wxCommandEvent &e) { op->Bind(EVT_CONNECT_LAN_PRINT, [this, mobj](wxCommandEvent &e) {
if (mobj) {
if (mobj->is_lan_mode_printer()) { if (mobj->is_lan_mode_printer()) {
ConnectPrinterDialog dlg(wxGetApp().mainframe, wxID_ANY, _L("Input access code")); ConnectPrinterDialog dlg(wxGetApp().mainframe, wxID_ANY, _L("Input access code"));
dlg.set_machine_object(mobj); dlg.set_machine_object(mobj);
@ -680,6 +684,7 @@ void SelectMachinePopup::update_user_devices()
wxGetApp().mainframe->jump_to_monitor(mobj->dev_id); wxGetApp().mainframe->jump_to_monitor(mobj->dev_id);
} }
} }
}
}); });
op->Bind(EVT_EDIT_PRINT_NAME, [this, mobj](wxCommandEvent &e) { op->Bind(EVT_EDIT_PRINT_NAME, [this, mobj](wxCommandEvent &e) {