X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;h=f1de3b20e9faeab2c2ac10e3665b5b38d897d1ae;hb=c259400566cecf3b6ca959bc60c671a7195c0078;hp=47cb96b2da3ce6c2125a39472928e8e1a63cb1b0;hpb=4640a84e926ac4b82e2a1b6ef9fc80ef44c2bd3c;p=pulseview.git diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index 47cb96b2..f1de3b20 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -359,7 +359,7 @@ void View::add_signalbase(const shared_ptr signalbase) switch (signalbase->type()) { case SignalBase::LogicChannel: - signal = shared_ptr(new LogicSignal(session_, session_.device(), signalbase)); + signal = shared_ptr(new LogicSignal(session_, signalbase)); break; case SignalBase::AnalogChannel: @@ -920,7 +920,7 @@ vector< shared_ptr > View::get_visible_data() const vector< shared_ptr > visible_data; for (const shared_ptr& sig : signals_) if (sig->enabled()) - visible_data.push_back(sig->data()); + visible_data.push_back(sig->base()->data()); return visible_data; } @@ -933,9 +933,9 @@ pair View::get_time_extents() const if (signals_.size() == 0) return make_pair(0, 0); - for (shared_ptr s : signals_) - if (s->data() && (s->data()->segments().size() > 0)) - data.push_back(s->data()); + for (const shared_ptr& s : signals_) + if (s->base()->data() && (s->base()->data()->segments().size() > 0)) + data.push_back(s->base()->data()); for (const shared_ptr& d : data) { const vector< shared_ptr > segments = d->segments(); @@ -1502,7 +1502,7 @@ void View::determine_time_unit() if (time_unit_ == util::TimeUnit::Samples) { // Check all signals but... for (const shared_ptr& signal : signals_) { - const shared_ptr data = signal->data(); + const shared_ptr data = signal->base()->data(); // ...only check first segment of each const vector< shared_ptr > segments = data->segments();