]> git.cworth.org Git - apitrace/blobdiff - gui/apitrace.cpp
Fix and cleanup state lookups on frames.
[apitrace] / gui / apitrace.cpp
index 1087ccab1e698d8207a372deff0ac6a8b5fbe74a..6f101cd9f789aa21dc7ae13d83683ba4e638fe2d 100644 (file)
@@ -190,10 +190,15 @@ ApiTraceCall * ApiTrace::callWithIndex(int idx) const
 ApiTraceState ApiTrace::defaultState() const
 {
     ApiTraceFrame *frame = frameAt(0);
-    if (!frame || !frame->hasState())
+    if (!frame || !frame->loaded() || frame->isEmpty())
         return ApiTraceState();
 
-    return *frame->state();
+    ApiTraceCall *firstCall = frame->calls().first();
+    if (!firstCall->hasState()) {
+        return ApiTraceState();
+    }
+
+    return *firstCall->state();
 }
 
 void ApiTrace::callEdited(ApiTraceCall *call)