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);
}