Reduce memory allocations when reading the QMimeType list

Use QTextStream::readLineInto instead of using N internal buffers
temporarily to read the mime types file into a QSet<QString>.

Change-Id: I05110a4d484cc9485ceb3bc2be2fc7c78f4b2434
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Aleix Pol 2016-08-05 16:29:32 +02:00 committed by Aleix Pol
parent d322ea4e7d
commit 433e5ccf50
1 changed files with 5 additions and 5 deletions

View File

@ -536,11 +536,11 @@ void QMimeBinaryProvider::loadMimeTypeList()
for (const QString &typeFilename : typesFilenames) {
QFile file(typeFilename);
if (file.open(QIODevice::ReadOnly)) {
while (!file.atEnd()) {
QByteArray line = file.readLine();
line.chop(1);
m_mimetypeNames.insert(QString::fromLatin1(line.constData(), line.size()));
}
QTextStream stream(&file);
stream.setCodec("ISO 8859-1");
QString line;
while (stream.readLineInto(&line))
m_mimetypeNames.insert(line);
}
}
}