if (m_trace)
disconnect(m_trace);
m_trace = trace;
+ connect(m_trace, SIGNAL(invalidated()),
+ this, SLOT(invalidateFrames()));
connect(m_trace, SIGNAL(framesInvalidated()),
this, SLOT(invalidateFrames()));
connect(m_trace, SIGNAL(framesAdded(int, int)),
QModelIndex ApiTraceModel::callIndex(int callNum) const
{
- ApiTraceCall *call = m_trace->callAt(callNum);
+ ApiTraceCall *call = m_trace->callWithIndex(callNum);
+ return indexForCall(call);
+}
+QModelIndex ApiTraceModel::indexForCall(ApiTraceCall *call) const
+{
if (!call) {
return QModelIndex();
}
int row = frame->calls.indexOf(call);
if (row < 0) {
- qDebug() << "Couldn't find call num "<<callNum<<" inside parent!";
+ qDebug() << "Couldn't find call num "<<call->index<<" inside parent!";
return QModelIndex();
}
return createIndex(row, 0, call);