summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2014-08-09 02:27:31 +0200
committerMarc Mutz <marc.mutz@kdab.com>2014-08-15 19:19:20 +0200
commit09d6bbebc2857e39cc1780c32104a749f0db0bad (patch)
tree65e8b6dcd46551ef3b58034d61bbc6a81802c498 /src
parente60079a55cea16418999026606d084ed6741a2e6 (diff)
QMimeData: replace an inefficient QList with a QVector
QMimeDataStruct is larger than a pointer, so holding it in a QList is horribly inefficient. Fix by marking as movable and holding in a QVector instead. Change-Id: If285dd31546066db0b240ea0d4d30668f50b5f2c Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src')
-rw-r--r--src/corelib/kernel/qmimedata.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/kernel/qmimedata.cpp b/src/corelib/kernel/qmimedata.cpp
index 3f2cd5a36a..f5057bc5f0 100644
--- a/src/corelib/kernel/qmimedata.cpp
+++ b/src/corelib/kernel/qmimedata.cpp
@@ -53,6 +53,7 @@ struct QMimeDataStruct
QString format;
QVariant data;
};
+Q_DECLARE_TYPEINFO(QMimeDataStruct, Q_MOVABLE_TYPE);
class QMimeDataPrivate : public QObjectPrivate
{
@@ -64,7 +65,7 @@ public:
QVariant retrieveTypedData(const QString &format, QVariant::Type type) const;
- QList<QMimeDataStruct> dataList;
+ QVector<QMimeDataStruct> dataList;
};
void QMimeDataPrivate::removeData(const QString &format)