assert in MultiFilterSortModel::invalidate() on first run

Lubomir I. Ivanov neolit123 at gmail.com
Sat Oct 10 14:49:15 PDT 2015


steps:
- open Subsurface
- press CTRL+F
- press CTRL+F again (i.e. close/clear the MultiFilter widget)

ASSERT failure in QPersistentModelIndex::~QPersistentModelIndex:
"persistent model indexes corrupted", file
itemmodels\qabstractitemmodel.cpp, line 557

Qt = 5.5.0.

i can't be reproduced with the Win32 daily because it's not using the
'd' versions of Qt.
some time ago i've noticed that Qt completely skips such asserts on
Linux (and probably OSX), so this one is likely the 4-5th
index-assert, only i can see for some reason...

rough stack trace in reverse order:
MainWindow::on_actionFilterTags_triggered()
MultiFilter::closeFilter()
MultiFilterSortModel::clearFilter();
MultiFilterSortModel::myInvalidate();
MultiFilterSortModel::invalidate() <----------

i don't have a fix because i wouldn't touch this overly complicated
and overly engineered Qt model-space-cosmos-universal-proxy-crazyness
with a 10 foot pole. i mean, i probably can submit some sort of
half-baked fix but it won't be the correct solution.

no offense to Tomaz, of course...who is the only person who seems to
juggle this Qt madness in a sane way.

lubomir
--


More information about the subsurface mailing list