From 09d6bbebc2857e39cc1780c32104a749f0db0bad Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Sat, 9 Aug 2014 02:27:31 +0200 Subject: QMimeData: replace an inefficient QList with a QVector MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Reviewed-by: Olivier Goffart --- src/corelib/kernel/qmimedata.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') 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 dataList; + QVector dataList; }; void QMimeDataPrivate::removeData(const QString &format) -- cgit v1.2.3