From 6929e1ea455ebe69302f4d8e409a54798a654250 Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Fri, 7 Jul 2023 19:40:01 +0800 Subject: [PATCH] FIX: wrong pop dialog when all results are failed Change-Id: I50acb15ea7541b619472622a1715b99396fcad69 --- src/slic3r/GUI/CalibrationWizardSavePage.cpp | 7 ++++--- src/slic3r/GUI/CalibrationWizardSavePage.hpp | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.cpp b/src/slic3r/GUI/CalibrationWizardSavePage.cpp index 340db76906..ba322c2c94 100644 --- a/src/slic3r/GUI/CalibrationWizardSavePage.cpp +++ b/src/slic3r/GUI/CalibrationWizardSavePage.cpp @@ -321,7 +321,7 @@ void CaliPASaveAutoPanel::save_to_result_from_widgets(wxWindow* window, bool* ou //operate auto input = dynamic_cast(window); - if (input) { + if (input && input->IsShown()) { int tray_id = input->get_col_idx(); if (input->get_type() == GridTextInputType::K) { float k = 0.0f; @@ -336,7 +336,7 @@ void CaliPASaveAutoPanel::save_to_result_from_widgets(wxWindow* window, bool* ou } auto comboBox = dynamic_cast(window); - if (comboBox) { + if (comboBox && comboBox->IsShown()) { int tray_id = comboBox->get_col_idx(); wxString name = comboBox->GetTextCtrl()->GetValue().ToStdString(); if (name.IsEmpty()) { @@ -881,6 +881,7 @@ void CalibrationFlowX1SavePage::sync_cali_result(const std::vector(window); - if (input) { + if (input && input->IsShown()) { int tray_id = input->get_col_idx(); if (input->get_type() == GridTextInputType::FlowRatio) { float flow_ratio = 0.0f; diff --git a/src/slic3r/GUI/CalibrationWizardSavePage.hpp b/src/slic3r/GUI/CalibrationWizardSavePage.hpp index a3a81f4c4f..d2f3ae6dc5 100644 --- a/src/slic3r/GUI/CalibrationWizardSavePage.hpp +++ b/src/slic3r/GUI/CalibrationWizardSavePage.hpp @@ -104,7 +104,7 @@ protected: std::map m_calib_results;// map std::vector m_history_results; bool m_is_all_failed{ true }; - MachineObject* m_obj; + MachineObject* m_obj{ nullptr }; }; class CaliPASaveManualPanel : public wxPanel @@ -134,7 +134,7 @@ protected: ::TextInput* m_k_val; ::TextInput* m_n_val; - MachineObject* m_obj; + MachineObject* m_obj{ nullptr }; }; class CaliPASaveP1PPanel : public wxPanel