summaryrefslogtreecommitdiffstats
path: root/src/widgets/itemviews/qtablewidget.cpp
diff options
context:
space:
mode:
authorSérgio Martins <sergio.martins@kdab.com>2015-06-22 22:12:27 +0100
committerSérgio Martins <sergio.martins@kdab.com>2015-06-23 15:35:59 +0000
commitfece7cdb5daed826ab074b3210327dcfd7ab0e90 (patch)
tree05b99df28e5fb65a81397a9464ad977027559322 /src/widgets/itemviews/qtablewidget.cpp
parenta4d3af961445995337c279e71c861afc213c06f3 (diff)
widgets: Use QList::reserve(), reduces reallocations.
Change-Id: I49cc03f365c77f142f62c8e77505ec09723a44d9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/widgets/itemviews/qtablewidget.cpp')
-rw-r--r--src/widgets/itemviews/qtablewidget.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/widgets/itemviews/qtablewidget.cpp b/src/widgets/itemviews/qtablewidget.cpp
index b2d4abe5ac..f0c7ac0d32 100644
--- a/src/widgets/itemviews/qtablewidget.cpp
+++ b/src/widgets/itemviews/qtablewidget.cpp
@@ -507,11 +507,15 @@ void QTableModel::sort(int column, Qt::SortOrder order)
QVector<QTableWidgetItem*> sorted_table(tableItems.count());
QModelIndexList from;
QModelIndexList to;
- for (int i = 0; i < rowCount(); ++i) {
+ const int numRows = rowCount();
+ const int numColumns = columnCount();
+ from.reserve(numRows * numColumns);
+ to.reserve(numRows * numColumns);
+ for (int i = 0; i < numRows; ++i) {
int r = (i < sortable.count()
? sortable.at(i).second
: unsortable.at(i - sortable.count()));
- for (int c = 0; c < columnCount(); ++c) {
+ for (int c = 0; c < numColumns; ++c) {
sorted_table[tableIndex(i, c)] = item(r, c);
from.append(createIndex(r, c));
to.append(createIndex(i, c));