Details
-
Bug
-
Resolution: Invalid
-
Not Evaluated
-
None
-
5.12.7
-
None
Description
For clarification please contact :
Reference Tickets:
- https://gsep.daimler.com/jira/browse/NTGSUI-209048 Elvis: 2980399
- https://gsep.daimler.com/jira/browse/NTGSUI-209455 Elvis: 2982739
Check the attachments
Sometimes (rarely) the QIdentityProxyModel crashes on rows removed signal of the source model.
cases QAbstractItemModel causes a crash when used in QIdentityProxyModel. This happens in a moment when the source model finishes insertion of rows by calling endInsertRows() on a source model. Then the source model emits the signal "rowsInserted(QModelIndex,int,int)", then the proxy model begins processing the insertion in the "_q_sourceRowsInserted(QModelIndex,int,int)" slot, which, it turn, calls the endInsertRows() method of the base class of the QIdentityProxyModel, the QAbstractItemModel. This method calls the method QAbstractItemModelPrivate::rowsInserted(QModelIndex,int,int), where the crash occurs on the line 686:
QVector<QPersistentModelIndexData *> persistent_moved = persistent.moved.pop();
Somehow the persistent_moved vector appears to be empty, which causes the crash. The reason why the stack is empty is not clear. Perhaps the source model was changed via QML binding between beginInserRows and endInsertRows calls.