X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fanalogsignal.cpp;h=f94a70f80f92e6322996969324d149016a8bc06d;hp=b65eba569d54baad700f802238bc225b593ce0b6;hb=92fdf33184a29c139a532e954cdd573649ad522d;hpb=7c84c074f1aab8e8b78c802d0cb6c48282869253 diff --git a/pv/views/trace/analogsignal.cpp b/pv/views/trace/analogsignal.cpp index b65eba56..f94a70f8 100644 --- a/pv/views/trace/analogsignal.cpp +++ b/pv/views/trace/analogsignal.cpp @@ -341,16 +341,16 @@ void AnalogSignal::paint_trace(QPainter &p, int64_t sample_count = min(points_count, TracePaintBlockSize); int64_t block_sample = 0; - const float *sample_block = segment->get_samples(start, start + sample_count); + float *sample_block = new float[TracePaintBlockSize]; + segment->get_samples(start, start + sample_count, sample_block); const int w = 2; for (int64_t sample = start; sample != end; sample++, block_sample++) { if (block_sample == TracePaintBlockSize) { block_sample = 0; - delete[] sample_block; sample_count = min(points_count - sample, TracePaintBlockSize); - sample_block = segment->get_samples(sample, sample + sample_count); + segment->get_samples(sample, sample + sample_count, sample_block); } const float x = (sample / samples_per_pixel -