summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-09-06 14:19:28 +0300
committerPasi Keränen <pasi.keranen@digia.com>2013-09-06 14:46:48 +0300
commitb288ecc4c08e97c1b09b8a253de4931616bd3d91 (patch)
treeeea178622c26f496ae1ed2f0e7e77699b0206d2f /examples
parent294a23e02474838186cc102a8ec9e50aa159a2dd (diff)
Fix audiolevels crash
+Actually reverse the data as was the original intention Change-Id: I43c78a82f335696bd6b785c7186368e7fea4ded9 Reviewed-by: Pasi Keränen <pasi.keranen@digia.com>
Diffstat (limited to 'examples')
-rw-r--r--examples/audiolevels/audiolevelsiodevice.cpp6
1 files 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++)