]> git.cworth.org Git - apitrace/commitdiff
Set a parent trace on all the frames.
authorZack Rusin <zack@kde.org>
Sun, 17 Apr 2011 03:14:25 +0000 (23:14 -0400)
committerZack Rusin <zack@kde.org>
Sun, 17 Apr 2011 03:14:25 +0000 (23:14 -0400)
gui/apitrace.cpp
gui/apitracecall.cpp
gui/apitracecall.h

index 40032ba6352367f275415ce844d793247ac2a793..abdae27591e03db46d7e2086998a50cbe4caccee 100644 (file)
@@ -134,6 +134,7 @@ void ApiTrace::addFrames(const QList<ApiTraceFrame*> &frames)
     int currentCalls = m_calls.count();
     int numNewCalls = 0;
     foreach(ApiTraceFrame *frame, frames) {
+        frame->setParentTrace(this);
         numNewCalls += frame->calls.count();
         m_calls += frame->calls;
     }
@@ -151,6 +152,7 @@ void ApiTrace::detectFrames()
     foreach(ApiTraceCall *apiCall, m_calls) {
         if (!currentFrame) {
             currentFrame = new ApiTraceFrame();
+            currentFrame->setParentTrace(this);
             currentFrame->number = m_frames.count();
         }
         apiCall->setParentFrame(currentFrame);
index 71e2f86a88f5531f711b39d8290bf8733b4cf629..f027987c0bb5985246fedf8d8202477452bcfdfa 100644 (file)
@@ -386,7 +386,8 @@ int ApiTraceFrame::numChildren() const
 }
 
 ApiTraceFrame::ApiTraceFrame()
-    : ApiTraceEvent(ApiTraceEvent::Frame)
+    : ApiTraceEvent(ApiTraceEvent::Frame),
+      m_parentTrace(0)
 {
 }
 
@@ -645,3 +646,13 @@ void ApiTraceCall::revert()
 {
 }
 
+ApiTrace * ApiTraceFrame::parentTrace() const
+{
+    return m_parentTrace;
+}
+
+void ApiTraceFrame::setParentTrace(ApiTrace *trace)
+{
+    m_parentTrace = trace;
+}
+
index 3bf4c644a61673f4ca8f09a1ad75d66f5390f3d5..0f395a5b501b17a7103695b121770bf68196d2be 100644 (file)
@@ -11,6 +11,8 @@
 #include "trace_model.hpp"
 
 
+class ApiTrace;
+
 class VariantVisitor : public Trace::Visitor
 {
 public:
@@ -202,8 +204,13 @@ public:
     int number;
     QList<ApiTraceCall*> calls;
 
+    ApiTrace *parentTrace() const;
+    void setParentTrace(ApiTrace *trace);
+
     int numChildren() const;
     QStaticText staticText() const;
+private:
+    ApiTrace *m_parentTrace;
 };
 Q_DECLARE_METATYPE(ApiTraceFrame*);