- if (model()->hasChildren(newParent))
- resultingIndex = newParent.child(model()->rowCount(newParent) - 1, 0);
+ if (model()->hasChildren(newParent)) {
+ // Treat an invalid QAbstractItemModel as an invalid QModelIndex
+ resultingIndex = (newParent.model() ? newParent.model()->index(model()->rowCount(newParent) - 1, 0, newParent) : QModelIndex());
+ }