- QList<ApiTraceFrame*> frames;
- ApiTraceFrame *currentFrame = 0;
-
- Trace::Call *call;
- Trace::File::Offset startOffset;
- int numOfFrames = 0;
- int numOfCalls = 0;
- unsigned callNum = 0;
- int lastPercentReport = 0;
-
- startOffset = m_parser.currentOffset();
- callNum = m_parser.currentCallNumber();
-
- while ((call = m_parser.scan_call())) {
- ++numOfCalls;
-
- if (isCallAFrameMarker(call)) {
- Trace::File::Offset endOffset = m_parser.currentOffset();
- FrameOffset frameOffset(startOffset);
- frameOffset.numberOfCalls = numOfCalls;
- frameOffset.callNumber = callNum;
-
- currentFrame = new ApiTraceFrame();
- currentFrame->number = numOfFrames;
- currentFrame->setNumChildren(numOfCalls);
- frames.append(currentFrame);
-
- m_frameOffsets[numOfFrames] = frameOffset;
- ++numOfFrames;
-
- if (m_parser.percentRead() - lastPercentReport >= 5) {
- emit parsed(m_parser.percentRead());
- lastPercentReport = m_parser.percentRead();
- }
- startOffset = endOffset;
- callNum = m_parser.currentCallNumber();
- numOfCalls = 0;
- }
- //call->dump(std::cout, color);
- delete call;
- }
-
- if (numOfCalls) {
-// Trace::File::Offset endOffset = m_parser.currentOffset();
- FrameOffset frameOffset(startOffset);
- frameOffset.numberOfCalls = numOfCalls;
- frameOffset.callNumber = callNum;
-
- currentFrame = new ApiTraceFrame();
- currentFrame->number = numOfFrames;
- currentFrame->setNumChildren(numOfCalls);
- frames.append(currentFrame);
-
- m_frameOffsets[numOfFrames] = frameOffset;
- ++numOfFrames;
- }
-
- emit parsed(100);
-
- emit framesLoaded(frames);
+ QList<ApiTraceFrame*> frames;
+ ApiTraceFrame *currentFrame = 0;
+
+ Trace::Call *call;
+ Trace::File::Offset startOffset;
+ int numOfFrames = 0;
+ int numOfCalls = 0;
+ unsigned callNum = 0;
+ int lastPercentReport = 0;
+
+ startOffset = m_parser.currentOffset();
+ callNum = m_parser.currentCallNumber();
+
+ while ((call = m_parser.scan_call())) {
+ ++numOfCalls;
+
+ if (isCallAFrameMarker(call)) {
+ Trace::File::Offset endOffset = m_parser.currentOffset();
+ FrameOffset frameOffset(startOffset);
+ frameOffset.numberOfCalls = numOfCalls;
+ frameOffset.callNumber = callNum;
+
+ currentFrame = new ApiTraceFrame();
+ currentFrame->number = numOfFrames;
+ currentFrame->setNumChildren(numOfCalls);
+ frames.append(currentFrame);
+
+ m_frameOffsets[numOfFrames] = frameOffset;
+ ++numOfFrames;
+
+ if (m_parser.percentRead() - lastPercentReport >= 5) {
+ emit parsed(m_parser.percentRead());
+ lastPercentReport = m_parser.percentRead();
+ }
+ startOffset = endOffset;
+ callNum = m_parser.currentCallNumber();
+ numOfCalls = 0;
+ }
+ //call->dump(std::cout, color);
+ delete call;
+ }
+
+ if (numOfCalls) {
+ // Trace::File::Offset endOffset = m_parser.currentOffset();
+ FrameOffset frameOffset(startOffset);
+ frameOffset.numberOfCalls = numOfCalls;
+ frameOffset.callNumber = callNum;
+
+ currentFrame = new ApiTraceFrame();
+ currentFrame->number = numOfFrames;
+ currentFrame->setNumChildren(numOfCalls);
+ frames.append(currentFrame);
+
+ m_frameOffsets[numOfFrames] = frameOffset;
+ ++numOfFrames;
+ }
+
+ emit parsed(100);
+
+ emit framesLoaded(frames);