Ну понятно. перед этим empty() нужен.
Т. е. вернуться может все что угодно.
ну это лучше, чем неадекватное поведении. В Assistant-e хоть про такой случай словечко замолвили, хоть что-то понятно
T & QList::front ()
This function is provided for STL compatibility. It is equivalent to first(). The list must not be empty. If the list can be empty, call isEmpty() before calling this function.