From 8dd2fcb0d3e4f2f496f6e5172e20f5b894b02a6f Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Wed, 7 Jun 2023 11:24:55 +0800 Subject: [PATCH] fix: Cannot add measure cursor again after removed. --- DSView/pv/dock/measuredock.cpp | 11 ++++++----- DSView/pv/dock/measuredock.h | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/DSView/pv/dock/measuredock.cpp b/DSView/pv/dock/measuredock.cpp index 61500bfa..e275046a 100644 --- a/DSView/pv/dock/measuredock.cpp +++ b/DSView/pv/dock/measuredock.cpp @@ -325,7 +325,8 @@ void MeasureDock::goto_cursor() void MeasureDock::add_dist_measure() { - if (_dist_row_widget_vec.size() > Max_Measure_Limits) + int num = _dist_row_widget_vec.size(); + if (num > Max_Measure_Limits) return; QWidget *row_widget = new QWidget(_widget); @@ -384,7 +385,7 @@ void MeasureDock::del_dist_measure() _dist_s_btn_vec.remove(del_index); _dist_e_btn_vec.remove(del_index); _dist_r_label_vec.remove(del_index); - _dist_row_widget_vec.remove(del_index); + _dist_row_widget_vec.erase(_dist_row_widget_vec.begin() + del_index); break; } @@ -394,7 +395,8 @@ void MeasureDock::del_dist_measure() void MeasureDock::add_edge_measure() { - if (_edge_row_widget_vec.size() > Max_Measure_Limits) + int num = _edge_row_widget_vec.size(); + if (num > Max_Measure_Limits) return; QWidget *row_widget = new QWidget(_widget); @@ -445,7 +447,6 @@ void MeasureDock::add_edge_measure() row_layout->addWidget(r_label, 100); _edge_layout->addWidget(row_widget, _edge_row_widget_vec.size(), 0, 1, 7); - } void MeasureDock::del_edge_measure() @@ -462,7 +463,7 @@ void MeasureDock::del_edge_measure() _edge_e_btn_vec.remove(del_index); _edge_r_label_vec.remove(del_index); _edge_ch_cmb_vec.remove(del_index); - _edge_row_widget_vec.remove(del_index); + _edge_row_widget_vec.erase(_edge_row_widget_vec.begin() + del_index); break; } diff --git a/DSView/pv/dock/measuredock.h b/DSView/pv/dock/measuredock.h index 52c6b683..fadd496c 100644 --- a/DSView/pv/dock/measuredock.h +++ b/DSView/pv/dock/measuredock.h @@ -116,7 +116,7 @@ private: QGridLayout *_dist_layout; QGroupBox *_dist_groupBox; QToolButton *_dist_add_btn; - QVector _dist_row_widget_vec; + std::vector _dist_row_widget_vec; QVector _dist_del_btn_vec; QVector _dist_s_btn_vec; QVector _dist_e_btn_vec; @@ -125,7 +125,7 @@ private: QGridLayout *_edge_layout; QGroupBox *_edge_groupBox; QToolButton *_edge_add_btn; - QVector _edge_row_widget_vec; + std::vector _edge_row_widget_vec; QVector _edge_del_btn_vec; QVector _edge_s_btn_vec; QVector _edge_e_btn_vec;