From caac160c7f59e103539746fbe351e97c2df329a8 Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Tue, 29 Aug 2023 11:33:13 +0800 Subject: [PATCH] FIX: Crash when switch to the calibration page after binding the printer in device page jira: 4080 Change-Id: I8e712389bf619b177255111766c271cb9f1bf66e (cherry picked from commit a012b3641713d7f1e3ae60688c2db8054d3cd731) --- src/slic3r/GUI/CalibrationPanel.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/slic3r/GUI/CalibrationPanel.cpp b/src/slic3r/GUI/CalibrationPanel.cpp index 1681572cdf..e8970dccc9 100644 --- a/src/slic3r/GUI/CalibrationPanel.cpp +++ b/src/slic3r/GUI/CalibrationPanel.cpp @@ -526,6 +526,14 @@ void CalibrationPanel::update_all() { if (!dev) return; obj = dev->get_selected_machine(); + // check valid machine + if (obj && dev->get_my_machine(obj->dev_id) == nullptr) { + dev->set_selected_machine(""); + if (m_agent) m_agent->set_user_selected_machine(""); + show_status((int) MONITOR_NO_PRINTER); + return; + } + // update current wizard only int curr_selected = m_tabpanel->GetSelection(); @@ -543,15 +551,6 @@ void CalibrationPanel::update_all() { } } - // check valid machine - if (obj && dev->get_my_machine(obj->dev_id) == nullptr) { - dev->set_selected_machine(""); - if (m_agent) - m_agent->set_user_selected_machine(""); - show_status((int)MONITOR_NO_PRINTER); - return; - } - if (wxGetApp().is_user_login()) { dev->check_pushing(); try {