QList::first() returns a reference to an item, but that list was a temporary. The list gets destroyed at the end of the statement (the semi-colon), so we ended up keeping a reference to freed data (i.e., a dangling pointer0
Signed-off-by: Thiago Macieira <[email protected]> --- qt-ui/divelistview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp index 8c1c6a3..00906c6 100644 --- a/qt-ui/divelistview.cpp +++ b/qt-ui/divelistview.cpp @@ -275,7 +275,7 @@ void DiveListView::selectDives(const QList<int> &newDiveSelection) connect(selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)), this, SLOT(currentChanged(QModelIndex, QModelIndex))); Q_EMIT currentDiveChanged(selected_dive); - const QModelIndex &idx = m->match(m->index(0, 0), DiveTripModel::DIVE_IDX, selected_dive, 2, Qt::MatchRecursive).first(); + QModelIndex idx = m->match(m->index(0, 0), DiveTripModel::DIVE_IDX, selected_dive, 2, Qt::MatchRecursive).first(); if (idx.parent().isValid()) scrollTo(idx.parent()); scrollTo(idx); -- 1.8.4.5 _______________________________________________ subsurface mailing list [email protected] http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface
