SignalBase: Implement A2D conversions
[pulseview.git] / pv / session.cpp
index fb7d6379c2a6af1b613e410b3f68e5e1239e1e52..a1a078788c4e49631e7d00df1ab5e82646a6cbe3 100644 (file)
@@ -620,6 +620,9 @@ const unordered_set< shared_ptr<data::SignalBase> > Session::signalbases() const
 #ifdef ENABLE_DECODE
 bool Session::add_decoder(srd_decoder *const dec)
 {
+       if (!dec)
+               return false;
+
        map<const srd_channel*, shared_ptr<data::SignalBase> > channels;
        shared_ptr<data::DecoderStack> decoder_stack;
 
@@ -785,6 +788,9 @@ void Session::update_signals()
 
                                                        all_signal_data_.insert(logic_data_);
                                                        signalbase->set_data(logic_data_);
+
+                                                       connect(this, SIGNAL(capture_state_changed(int)),
+                                                               signalbase.get(), SLOT(on_capture_state_changed(int)));
                                                }
 
                                                signal = shared_ptr<views::TraceView::Signal>(
@@ -803,6 +809,9 @@ void Session::update_signals()
                                                        shared_ptr<data::Analog> data(new data::Analog());
                                                        all_signal_data_.insert(data);
                                                        signalbase->set_data(data);
+
+                                                       connect(this, SIGNAL(capture_state_changed(int)),
+                                                               signalbase.get(), SLOT(on_capture_state_changed(int)));
                                                }
 
                                                signal = shared_ptr<views::TraceView::Signal>(