From dc94ad4fb63c4907993e6970511bed90337b6c30 Mon Sep 17 00:00:00 2001 From: "zhimin.zeng" Date: Tue, 25 Jun 2024 18:04:26 +0800 Subject: [PATCH] FIX: cannot select k value when connect 2 printer github: 4085 Change-Id: I660f20032535ad8ab1f218224af68f7cc0dc3395 --- src/slic3r/GUI/AMSMaterialsSetting.cpp | 2 +- src/slic3r/GUI/Monitor.cpp | 2 ++ src/slic3r/GUI/StatusPanel.cpp | 2 +- src/slic3r/GUI/StatusPanel.hpp | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index 8a86f423f..23e00b23e 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -1035,7 +1035,7 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt) m_filament_selection = evt.GetSelection(); //reset cali - int cali_select_idx; + int cali_select_idx = -1; if ( !this->obj || m_filament_selection < 0) { m_input_k_val->Enable(false); diff --git a/src/slic3r/GUI/Monitor.cpp b/src/slic3r/GUI/Monitor.cpp index a856ce20c..f83cbc8d8 100644 --- a/src/slic3r/GUI/Monitor.cpp +++ b/src/slic3r/GUI/Monitor.cpp @@ -317,6 +317,8 @@ void MonitorPanel::on_update_all(wxMouseEvent &event) set_default(); update_all(); + m_status_info_panel->last_cali_version.reset(); + MachineObject *obj_ = dev->get_selected_machine(); if (obj_) GUI::wxGetApp().sidebar().load_ams_list(obj_->dev_id, obj_); diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 3573cfa61..499ca51d2 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -2499,7 +2499,7 @@ void StatusPanel::update_ams(MachineObject *obj) } if (m_filament_setting_dlg) { m_filament_setting_dlg->obj = obj; } - if (obj->cali_version != -1 && last_cali_version != obj->cali_version) { + if (obj && (!last_cali_version.has_value() || last_cali_version != obj->cali_version)) { last_cali_version = obj->cali_version; CalibUtils::emit_get_PA_calib_info(obj->nozzle_diameter, ""); } diff --git a/src/slic3r/GUI/StatusPanel.hpp b/src/slic3r/GUI/StatusPanel.hpp index 796a300b0..603f8b2b0 100644 --- a/src/slic3r/GUI/StatusPanel.hpp +++ b/src/slic3r/GUI/StatusPanel.hpp @@ -637,7 +637,7 @@ public: long last_read_done_bits{ -1 }; long last_reading_bits { -1 }; long last_ams_version { -1 }; - int last_cali_version{-1}; + std::optional last_cali_version; enum ThumbnailState task_thumbnail_state {ThumbnailState::PLACE_HOLDER}; std::vector last_stage_list_info;