fetchFrameContents(frame);
for (int i = 0; i < calls.count(); ++i) {
if (calls[i]->index() == call->no) {
- emit searchResult(ApiTrace::SearchFound, calls[i]);
+ emit searchResult(ApiTrace::SearchResult_Found, calls[i]);
break;
}
}
delete call;
}
}
- emit searchResult(ApiTrace::SearchNotFound, 0);
+ emit searchResult(ApiTrace::SearchResult_NotFound, 0);
}
void TraceLoader::searchPrev(int startFrame,
}
}
}
- emit searchResult(ApiTrace::SearchNotFound, 0);
+ emit searchResult(ApiTrace::SearchResult_NotFound, 0);
}
bool TraceLoader::searchCallsBackwards(const QList<Trace::Call*> &calls,
fetchFrameContents(frame);
for (int i = 0; i < apiCalls.count(); ++i) {
if (apiCalls[i]->index() == call->no) {
- emit searchResult(ApiTrace::SearchFound, apiCalls[i]);
+ emit searchResult(ApiTrace::SearchResult_Found, apiCalls[i]);
break;
}
}
TraceLoader::fetchFrameContents(ApiTraceFrame *currentFrame)
{
Q_ASSERT(currentFrame);
+
+ if (currentFrame->isLoaded) {
+ return currentFrame->calls();
+ }
+
if (m_parser.supportsOffsets()) {
unsigned frameIdx = currentFrame->number;
int numOfCalls = numberOfCallsInFrame(frameIdx);
void TraceLoader::findFrameStart(ApiTraceFrame *frame)
{
- loadFrame(frame);
+ if (!frame->isLoaded()) {
+ loadFrame(frame);
+ }
emit foundFrameStart(frame);
}
void TraceLoader::findFrameEnd(ApiTraceFrame *frame)
{
- loadFrame(frame);
+ if (!frame->isLoaded()) {
+ loadFrame(frame);
+ }
emit foundFrameEnd(frame);
}