Don't call parent() so often when processing a range.
authorStephen Kelly <stephen.kelly@kdab.com>
Wed, 26 Sep 2012 14:57:38 +0000 (16:57 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Wed, 26 Sep 2012 17:09:14 +0000 (19:09 +0200)
Task-number: QTBUG-17732
Change-Id: Iefe5801f5941136f77001c532870e22f7fdd2c69
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
src/corelib/itemmodels/qitemselectionmodel.cpp

index 1308b07..98afaa3 100644 (file)
@@ -294,9 +294,10 @@ QItemSelectionRange QItemSelectionRange::intersected(const QItemSelectionRange &
 static void indexesFromRange(const QItemSelectionRange &range, QModelIndexList &result)
 {
     if (range.isValid() && range.model()) {
+        const QModelIndex parent = range.parent();
         for (int column = range.left(); column <= range.right(); ++column) {
             for (int row = range.top(); row <= range.bottom(); ++row) {
-                QModelIndex index = range.model()->index(row, column, range.parent());
+                QModelIndex index = range.model()->index(row, column, parent);
                 Qt::ItemFlags flags = range.model()->flags(index);
                 if ((flags & Qt::ItemIsSelectable) && (flags & Qt::ItemIsEnabled))
                     result.append(index);