Index: qabstractitemview.cpp =================================================================== --- qabstractitemview.cpp (revision 19) +++ qabstractitemview.cpp (working copy) @@ -1805,9 +1805,6 @@ command |= d->ctrlDragSelectionFlag; } - // Do the normalize ourselves, since QRect::normalized() is flawed - QRect selectionRect = QRect(topLeft, bottomRight); - setSelection(selectionRect, command); // set at the end because it might scroll the view if (index.isValid() @@ -1814,6 +1811,11 @@ && (index != d->selectionModel->currentIndex()) && d->isIndexEnabled(index)) d->selectionModel->setCurrentIndex(index, QItemSelectionModel::NoUpdate); + + // Do the normalize ourselves, since QRect::normalized() is flawed + QRect selectionRect = QRect(topLeft, bottomRight); + setSelection(selectionRect, command); + } }