From 433e5ccf507fc153db589df80655618f241af0c3 Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Fri, 5 Aug 2016 16:29:32 +0200 Subject: 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. Change-Id: I05110a4d484cc9485ceb3bc2be2fc7c78f4b2434 Reviewed-by: Thiago Macieira --- src/corelib/mimetypes/qmimeprovider.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/corelib/mimetypes/qmimeprovider.cpp b/src/corelib/mimetypes/qmimeprovider.cpp index a798d9eff6..e9996c204d 100644 --- a/src/corelib/mimetypes/qmimeprovider.cpp +++ b/src/corelib/mimetypes/qmimeprovider.cpp @@ -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); } } } -- cgit v1.2.3