]> git.cworth.org Git - apitrace/blobdiff - gui/traceloader.cpp
Fix silly typo
[apitrace] / gui / traceloader.cpp
index 7bd7dbd56a462614fe44d701fc597f036f5d6ab8..704f56d3b67353bf7da548d5df29b30fae5eb2c3 100644 (file)
@@ -144,6 +144,7 @@ void TraceLoader::scanTrace()
             currentFrame = new ApiTraceFrame();
             currentFrame->number = numOfFrames;
             currentFrame->setNumChildren(numOfCalls);
+            currentFrame->setLastCallIndex(call->no);
             frames.append(currentFrame);
 
             m_createdFrames.append(currentFrame);
@@ -290,7 +291,7 @@ void TraceLoader::searchNext(int startFrame,
                         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;
                     }
                 }
@@ -301,7 +302,7 @@ void TraceLoader::searchNext(int startFrame,
             delete call;
         }
     }
-    emit searchResult(ApiTrace::SearchNotFound, 0);
+    emit searchResult(ApiTrace::SearchResult_NotFound, 0);
 }
 
 void TraceLoader::searchPrev(int startFrame,
@@ -345,7 +346,7 @@ void TraceLoader::searchPrev(int startFrame,
             }
         }
     }
-    emit searchResult(ApiTrace::SearchNotFound, 0);
+    emit searchResult(ApiTrace::SearchResult_NotFound, 0);
 }
 
 bool TraceLoader::searchCallsBackwards(const QList<Trace::Call*> &calls,
@@ -361,7 +362,7 @@ 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;
                 }
             }
@@ -406,6 +407,11 @@ QVector<ApiTraceCall*>
 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);
@@ -456,13 +462,17 @@ TraceLoader::fetchFrameContents(ApiTraceFrame *currentFrame)
 
 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);
 }