Merge branch 'fix_addframebadalloc'

This commit is contained in:
Andy Huska
2022-09-19 13:51:31 -05:00
+6 -6
View File
@@ -59,7 +59,7 @@ CANFrameModel::CANFrameModel(QObject *parent)
} }
QSettings settings; QSettings settings;
int preallocSize = settings.value("Main/MaximumFrames", maxFramesDefault).toInt(); preallocSize = settings.value("Main/MaximumFrames", maxFramesDefault).toInt();
frames.reserve(preallocSize); frames.reserve(preallocSize);
filteredFrames.reserve(preallocSize); //the goal is to prevent a reallocation from ever happening filteredFrames.reserve(preallocSize); //the goal is to prevent a reallocation from ever happening
@@ -758,15 +758,15 @@ void CANFrameModel::addFrames(const CANConnection*, const QVector<CANFrame>& pFr
{ {
if(frames.length() > frames.capacity() * 0.99) if(frames.length() > frames.capacity() * 0.99)
{ {
qDebug() << "Frames count: " << frames.length() << " of " << frames.capacity() << " capacity, removing first " << frames.capacity() * 0.05 << " frames"; qDebug() << "Frames count: " << frames.length() << " of " << frames.capacity() << " capacity, removing first " << (int)(frames.capacity() * 0.05) << " frames";
frames.remove(0, frames.capacity() * 0.05); frames.remove(0, (int)(frames.capacity() * 0.05));
qDebug() << "Frames removed, new count: " << frames.length(); qDebug() << "Frames removed, new count: " << frames.length();
} }
if(filteredFrames.length() > filteredFrames.capacity() * 0.99) if(filteredFrames.length() > filteredFrames.capacity() * 0.99)
{ {
qDebug() << "filteredFrames count: " << filteredFrames.length() << " of " << filteredFrames.capacity() << " capacity, removing first " << filteredFrames.capacity() * 0.05 << " frames"; qDebug() << "filteredFrames count: " << filteredFrames.length() << " of " << filteredFrames.capacity() << " capacity, removing first " << (int)(filteredFrames.capacity() * 0.05) << " frames";
filteredFrames.remove(0, filteredFrames.capacity() * 0.05); filteredFrames.remove(0, (int)(filteredFrames.capacity() * 0.05));
qDebug() << "filteredFrames removed, new count: " << filteredFrames.length(); qDebug() << "filteredFrames removed, new count: " << filteredFrames.length();
} }
@@ -796,8 +796,8 @@ void CANFrameModel::sendRefresh()
mutex.lock(); mutex.lock();
beginResetModel(); beginResetModel();
filteredFrames.clear(); filteredFrames.clear();
filteredFrames.reserve(preallocSize);
filteredFrames.append(tempContainer); filteredFrames.append(tempContainer);
filteredFrames.reserve(preallocSize);
lastUpdateNumFrames = 0; lastUpdateNumFrames = 0;
endResetModel(); endResetModel();