]> sigrok.org Git - pulseview.git/blobdiff - pv/views/decoder_output/view.cpp
DecodeOutputView: Use delayed view updater and cache current chunk
[pulseview.git] / pv / views / decoder_output / view.cpp
index 2476d7ceae153c09ce1a6964d4239b87d768eeb2..1f712da9be8eaf1d24d2c880e7add0c81a52944e 100644 (file)
@@ -276,7 +276,8 @@ void View::on_signal_name_changed(const QString &name)
 void View::on_new_binary_data(unsigned int segment_id, void* decoder, unsigned int bin_class_id)
 {
        if ((segment_id == current_segment_) && (decoder == decoder_) && (bin_class_id == bin_class_id_))
-               update_data();
+               if (!delayed_view_updater_.isActive())
+                       delayed_view_updater_.start();
 }
 
 void View::on_decoder_stacked(void* decoder)
@@ -315,6 +316,11 @@ void View::on_decoder_removed(void* decoder)
                decoder_selector_->removeItem(index);
 }
 
+void View::perform_delayed_view_update()
+{
+       update_data();
+}
+
 
 } // namespace decoder_output
 } // namespace views