DecodeSignal: Fix flawed PD stack restoration
[pulseview.git] / pv / views / trace / decodetrace.cpp
index f4ab55ffa3ee1cbca8246873057ce67b4b8e264b..b0395eaa05dc685828a6d31d3d69a1383be59361 100644 (file)
@@ -56,14 +56,11 @@ extern "C" {
 using std::all_of;
 using std::make_pair;
 using std::max;
-using std::map;
 using std::min;
 using std::out_of_range;
 using std::pair;
 using std::shared_ptr;
-using std::make_shared;
 using std::tie;
-using std::unordered_set;
 using std::vector;
 
 using pv::data::decode::Annotation;
@@ -149,6 +146,8 @@ DecodeTrace::DecodeTrace(pv::Session &session,
 
        connect(decode_signal_.get(), SIGNAL(new_annotations()),
                this, SLOT(on_new_annotations()));
+       connect(decode_signal_.get(), SIGNAL(decode_finished()),
+               this, SLOT(on_decode_finished()));
        connect(decode_signal_.get(), SIGNAL(channels_updated()),
                this, SLOT(on_channels_updated()));
 
@@ -883,6 +882,12 @@ void DecodeTrace::on_delayed_trace_update()
                owner_->row_item_appearance_changed(false, true);
 }
 
+void DecodeTrace::on_decode_finished()
+{
+       if (owner_)
+               owner_->row_item_appearance_changed(false, true);
+}
+
 void DecodeTrace::delete_pressed()
 {
        on_delete();