X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fviews%2Fdecoder_output%2Fview.cpp;fp=pv%2Fviews%2Fdecoder_output%2Fview.cpp;h=8bce3745f1aa3e83ef932f3c05f5f45a6910e817;hb=628b45cc0ba7ac38ac6a003fedbbc746f15dd724;hp=171767e3236028d63b6f677c17608979b9889b63;hpb=b605e3c3816859a6fe3048bf25dbc93fe40306f2;p=pulseview.git diff --git a/pv/views/decoder_output/view.cpp b/pv/views/decoder_output/view.cpp index 171767e3..8bce3745 100644 --- a/pv/views/decoder_output/view.cpp +++ b/pv/views/decoder_output/view.cpp @@ -58,8 +58,7 @@ View::View(Session &session, bool is_main_view, QMainWindow *parent) : class_selector_(new QComboBox()), stacked_widget_(new QStackedWidget()), hex_view_(new QHexView()), - signal_(nullptr), - merged_data_(new QByteArray()) + signal_(nullptr) { QVBoxLayout *root_layout = new QVBoxLayout(this); root_layout->setContentsMargins(0, 0, 0, 0); @@ -94,8 +93,6 @@ View::View(Session &session, bool is_main_view, QMainWindow *parent) : decoder_selector_->setSizeAdjustPolicy(QComboBox::AdjustToContents); class_selector_->setSizeAdjustPolicy(QComboBox::AdjustToContents); - hex_view_->setData(merged_data_); - reset_view_state(); } @@ -192,23 +189,19 @@ void View::restore_settings(QSettings &settings) void View::update_data() { if (!signal_) { - merged_data_->clear(); + hex_view_->clear(); return; } if (signal_->get_binary_data_chunk_count(current_segment_, decoder_, bin_class_id_) == 0) { - merged_data_->clear(); + hex_view_->clear(); return; } - vector data; - signal_->get_binary_data_chunks_merged(current_segment_, decoder_, bin_class_id_, - 0, numeric_limits::max(), &data); - - merged_data_->resize(data.size()); - memcpy(merged_data_->data(), data.data(), data.size()); + const DecodeBinaryClass* bin_class = + signal_->get_binary_data_class(current_segment_, decoder_, bin_class_id_); - hex_view_->setData(merged_data_); + hex_view_->setData(bin_class); } void View::on_selected_decoder_changed(int index)