X-Git-Url: http://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fsignalbase.cpp;fp=pv%2Fdata%2Fsignalbase.cpp;h=274de1a12667350a2acb1ad5ca7f2959958610b3;hp=c15a44319d21030b3795fcdd3e25b8513869ce49;hb=eb8f22c04d1f5b7f9c831f9bec0778d3f3583626;hpb=bee54d9ec103a35c86fa9e80fbdd2a07f8fb762d diff --git a/pv/data/signalbase.cpp b/pv/data/signalbase.cpp index c15a4431..274de1a1 100644 --- a/pv/data/signalbase.cpp +++ b/pv/data/signalbase.cpp @@ -601,8 +601,8 @@ bool SignalBase::conversion_is_a2l() const (conversion_type_ == A2LConversionBySchmittTrigger))); } -void SignalBase::convert_single_segment_range(AnalogSegment *asegment, - LogicSegment *lsegment, uint64_t start_sample, uint64_t end_sample) +void SignalBase::convert_single_segment_range(shared_ptr asegment, + shared_ptr lsegment, uint64_t start_sample, uint64_t end_sample) { if (end_sample > start_sample) { tie(min_value_, max_value_) = asegment->get_min_max(); @@ -701,7 +701,8 @@ void SignalBase::convert_single_segment_range(AnalogSegment *asegment, } } -void SignalBase::convert_single_segment(AnalogSegment *asegment, LogicSegment *lsegment) +void SignalBase::convert_single_segment(shared_ptr asegment, + shared_ptr lsegment) { uint64_t start_sample, end_sample, old_end_sample; start_sample = end_sample = 0; @@ -755,7 +756,7 @@ void SignalBase::conversion_thread_proc() uint32_t segment_id = 0; - AnalogSegment *asegment = analog_data->analog_segments().front().get(); + shared_ptr asegment = analog_data->analog_segments().front(); assert(asegment); const shared_ptr logic_data = dynamic_pointer_cast(converted_data_); @@ -768,7 +769,7 @@ void SignalBase::conversion_thread_proc() logic_data->push_segment(new_segment); } - LogicSegment *lsegment = logic_data->logic_segments().front().get(); + shared_ptr lsegment = logic_data->logic_segments().front(); assert(lsegment); do { @@ -781,7 +782,7 @@ void SignalBase::conversion_thread_proc() segment_id++; try { - asegment = analog_data->analog_segments().at(segment_id).get(); + asegment = analog_data->analog_segments().at(segment_id); } catch (out_of_range&) { qDebug() << "Conversion error for" << name() << ": no analog segment" \ << segment_id << ", segments size is" << analog_data->analog_segments().size(); @@ -792,7 +793,7 @@ void SignalBase::conversion_thread_proc() *logic_data.get(), segment_id, 1, asegment->samplerate()); logic_data->push_segment(new_segment); - lsegment = logic_data->logic_segments().back().get(); + lsegment = logic_data->logic_segments().back(); } else { // No more samples/segments to process, wait for data or interrupt if (!conversion_interrupt_) {