diff -r ef0373b55136 -r 758a864f9613 src/gui/itemviews/qabstractitemview.cpp --- a/src/gui/itemviews/qabstractitemview.cpp Fri Sep 17 08:34:18 2010 +0300 +++ b/src/gui/itemviews/qabstractitemview.cpp Mon Oct 04 01:19:32 2010 +0300 @@ -2270,9 +2270,11 @@ } else { d->selectionModel->setCurrentIndex(newCurrent, command); d->pressedPosition = visualRect(newCurrent).center() + d->offset(); - // We copy the same behaviour as for mousePressEvent(). - QRect rect(d->pressedPosition - d->offset(), QSize(1, 1)); - setSelection(rect, command); + if (newCurrent.isValid()) { + // We copy the same behaviour as for mousePressEvent(). + QRect rect(d->pressedPosition - d->offset(), QSize(1, 1)); + setSelection(rect, command); + } } event->accept(); return;