X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=9d00a51032c649455b15eceab0f7dfdead57e335;hp=e1a1f010cf065dcad630f391161f819b5f494f0e;hb=cbd2a2de848f957507096785d3be1cc97d30df9a;hpb=73a25a6e488f1813c1cd12da085a16e4f91ed4da diff --git a/pv/session.cpp b/pv/session.cpp index e1a1f010..9d00a510 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -438,11 +438,11 @@ void Session::update_signals() case SR_CHANNEL_ANALOG: { - shared_ptr data( - new data::Analog()); + shared_ptr data(new data::Analog()); + signalbase->set_data(data); signal = shared_ptr( new view::AnalogSignal( - *this, signalbase, data)); + *this, signalbase)); all_signal_data_.insert(data); signalbases_.insert(signalbase); break; @@ -462,7 +462,7 @@ void Session::update_signals() signals_changed(); } -shared_ptr Session::signal_from_channel( +shared_ptr Session::signalbase_from_channel( shared_ptr channel) const { for (shared_ptr sig : signalbases_) { @@ -633,12 +633,10 @@ void Session::feed_in_analog(shared_ptr analog) cur_analog_segments_[channel] = segment; // Find the analog data associated with the channel - shared_ptr sig = - dynamic_pointer_cast( - signal_from_channel(channel)); - assert(sig); + shared_ptr base = signalbase_from_channel(channel); + assert(base); - shared_ptr data(sig->analog_data()); + shared_ptr data(base->analog_data()); assert(data); // Push the segment into the analog data.