summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAleix Pol <aleixpol@kde.org>2016-08-05 16:29:32 +0200
committerAleix Pol <aleixpol@codereview.qt-project.org>2016-09-29 02:59:05 +0000
commit433e5ccf507fc153db589df80655618f241af0c3 (patch)
tree9eaaca90770ca58293798e3a20e9397498d4aaf1 /src
parentd322ea4e7d40ff258d407b58e194e4e6c8a06cd5 (diff)
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>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/mimetypes/qmimeprovider.cpp10
1 files changed, 5 insertions, 5 deletions
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);
}
}
}