From b288ecc4c08e97c1b09b8a253de4931616bd3d91 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Fri, 6 Sep 2013 14:19:28 +0300 Subject: Fix audiolevels crash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit +Actually reverse the data as was the original intention Change-Id: I43c78a82f335696bd6b785c7186368e7fea4ded9 Reviewed-by: Pasi Keränen --- examples/audiolevels/audiolevelsiodevice.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/examples/audiolevels/audiolevelsiodevice.cpp b/examples/audiolevels/audiolevelsiodevice.cpp index 46e5aadb..2e36787f 100644 --- a/examples/audiolevels/audiolevelsiodevice.cpp +++ b/examples/audiolevels/audiolevelsiodevice.cpp @@ -47,10 +47,12 @@ qint64 AudioLevelsIODevice::writeData(const char *data, qint64 maxSize) int rowSize = qMin((newDataSize + oldRow->size()), maxRowSize); QBarDataRow *row = new QBarDataRow(rowSize); + int bottom = qMax(0, (newDataSize - rowSize)); // Insert data in reverse order, so that newest data is always at the front of the row - for (int i = newDataSize - 1; i >= 0; i--) - (*row)[i].setValue(((quint8)data[resolution * i] - 128) / 2.0); + int index = 0; + for (int i = newDataSize - 1; i >= bottom; i--) + (*row)[index++].setValue(((quint8)data[resolution * i] - 128) / 2.0); // Append old data to new row for (int i = newDataSize; i < rowSize; i++) -- cgit v1.2.3