Remove Q_ASSERT's from QTreeView autotest
Issue a meaningful fatal error in preference to aborting in debug mode builds and crashing in release mode builds. Change-Id: I7bb04e1e222fd6167be19b5d88caac27b43d88df Task-number: QTBUG-17582 Reviewed-by: Rohan McGovern (cherry picked from commit cb126ff7ad08e9801e2911511aa9aeb728faa8f3)
This commit is contained in:
parent
aa004ff76d
commit
80384827e0
@ -2536,7 +2536,7 @@ void tst_QTreeView::sortByColumn()
|
||||
|
||||
/*
|
||||
This is a model that every time kill() is called it will completely change
|
||||
all of its nodes for new nodes. It then asserts if you later use a dead node.
|
||||
all of its nodes for new nodes. It then qFatal's if you later use a dead node.
|
||||
*/
|
||||
class EvilModel: public QAbstractItemModel
|
||||
{
|
||||
@ -2624,7 +2624,8 @@ public:
|
||||
Node *parentNode = root;
|
||||
if (parent.isValid()) {
|
||||
parentNode = static_cast<Node*>(parent.internalPointer());
|
||||
Q_ASSERT(!parentNode->isDead);
|
||||
if (parentNode->isDead)
|
||||
qFatal("%s: parentNode is dead!", Q_FUNC_INFO);
|
||||
}
|
||||
return parentNode->children.count();
|
||||
}
|
||||
@ -2639,9 +2640,11 @@ public:
|
||||
Node *grandparentNode = static_cast<Node*>(parent.internalPointer());
|
||||
Node *parentNode = root;
|
||||
if (parent.isValid()) {
|
||||
Q_ASSERT(!grandparentNode->isDead);
|
||||
if (grandparentNode->isDead)
|
||||
qFatal("%s: grandparentNode is dead!", Q_FUNC_INFO);
|
||||
parentNode = grandparentNode->children[parent.row()];
|
||||
Q_ASSERT(!parentNode->isDead);
|
||||
if (parentNode->isDead)
|
||||
qFatal("%s: grandparentNode is dead!", Q_FUNC_INFO);
|
||||
}
|
||||
return createIndex(row, column, parentNode);
|
||||
}
|
||||
@ -2661,7 +2664,8 @@ public:
|
||||
Node *parentNode = root;
|
||||
if (idx.isValid()) {
|
||||
parentNode = static_cast<Node*>(idx.internalPointer());
|
||||
Q_ASSERT(!parentNode->isDead);
|
||||
if (parentNode->isDead)
|
||||
qFatal("%s: grandparentNode is dead!", Q_FUNC_INFO);
|
||||
}
|
||||
return QString("[%1,%2,%3]").arg(idx.row()).arg(idx.column())
|
||||
.arg(parentNode->isDead ? "dead" : "alive");
|
||||
|
Loading…
Reference in New Issue
Block a user