X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=pv%2Fsession.cpp;h=9d00a51032c649455b15eceab0f7dfdead57e335;hb=cbd2a2de848f957507096785d3be1cc97d30df9a;hp=9c3a2c259e2a635f2eed79f5a8a607a9c33d490c;hpb=bf0edd2b0cbb5f4bd5d69b0f00bcea7d037e2287;p=pulseview.git diff --git a/pv/session.cpp b/pv/session.cpp index 9c3a2c25..9d00a510 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -299,7 +299,7 @@ bool Session::add_decoder(srd_decoder *const dec) dynamic_pointer_cast(s); if (l && QString::fromUtf8(pdch->name). toLower().contains( - s->channel()->name().toLower())) + s->base()->name().toLower())) channels[pdch] = l; } @@ -412,7 +412,7 @@ void Session::update_signals() const auto iter = std::find_if( prev_sigs.cbegin(), prev_sigs.cend(), [&](const shared_ptr &s) { - return s->channel()->channel() == channel; + return s->base()->channel() == channel; }); if (iter != prev_sigs.end()) { // Copy the signal from the old set to the new @@ -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.