]> sigrok.org Git - pulseview.git/blobdiff - pv/views/tabular_decoder/model.cpp
Session: Fix issue #67 by improving error handling
[pulseview.git] / pv / views / tabular_decoder / model.cpp
index e7a199f13da19248016e61e16d4c9065e1ac589f..def753b2fa44b99f8e71d1db508ed103d25b422d 100644 (file)
@@ -228,7 +228,9 @@ void AnnotationCollectionModel::set_signal_and_segment(data::DecodeSignal* signa
                return;
        }
 
-       disconnect(this, SLOT(on_annotation_visibility_changed()));
+       if (signal_)
+               for (const shared_ptr<Decoder>& dec : signal_->decoder_stack())
+                       disconnect(dec.get(), nullptr, this, SLOT(on_annotation_visibility_changed()));
 
        all_annotations_ = signal->get_all_annotations_by_segment(current_segment);
        signal_ = signal;