Merge branch 'fix_addframebadalloc'
This commit is contained in:
+6
-6
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user