]> git.cworth.org Git - vogl/blobdiff - src/vogleditor/vogleditor.cpp
UI: Fix support for taking snapshots after an edited & outdated snapshot.
[vogl] / src / vogleditor / vogleditor.cpp
index 0fcca776583e7235c333bb2fa5f3ea4dde6d60ce..a7c199cabdca2e3ffd166e834d2471076bdeeb89 100644 (file)
@@ -119,7 +119,6 @@ VoglEditor::VoglEditor(QWidget *parent) :
    m_pTrimButton(NULL),
    m_pStopButton(NULL),
    m_pTraceReader(NULL),
-   m_pTraceWriter(NULL),
    m_pApicallTreeModel(NULL)
 {
    ui->setupUi(this);
@@ -344,13 +343,6 @@ void VoglEditor::close_trace_file()
       vogl_delete(m_pTraceReader);
       m_pTraceReader = NULL;
 
-      if (m_pTraceWriter != NULL)
-      {
-          m_pTraceWriter->close();
-          vogl_delete(m_pTraceWriter);
-          m_pTraceWriter = NULL;
-      }
-
       setWindowTitle(g_PROJECT_NAME);
 
       m_openFilename.clear();
@@ -952,10 +944,6 @@ bool VoglEditor::open_trace_file(dynamic_string filename)
 
    vogl_ctypes trace_ctypes;
    trace_ctypes.init(m_pTraceReader->get_sof_packet().m_pointer_sizes);
-   m_pTraceWriter = vogl_new(vogl_trace_file_writer, &trace_ctypes);
-
-   dynamic_string traceSessionFilename = "vogleditor_session.bin";
-   m_pTraceWriter->open(traceSessionFilename.c_str());
 
    m_pApicallTreeModel = new vogleditor_QApiCallTreeModel(m_pTraceReader);
    ui->treeView->setModel(m_pApicallTreeModel);
@@ -1258,7 +1246,7 @@ void VoglEditor::reset_snapshot_ui()
 vogleditor_gl_state_snapshot* VoglEditor::findMostRecentSnapshot_helper(vogleditor_apiCallTreeItem* pItem, vogleditor_gl_state_snapshot*& pMostRecentSnapshot, const vogleditor_gl_state_snapshot* pCurSnapshot)
 {
     // check if this item has a snapshot shot
-    if (pItem->has_snapshot())
+    if (pItem->has_snapshot() && pItem->get_snapshot()->is_valid())
     {
         vogleditor_gl_state_snapshot* pTmp = pItem->get_snapshot();
         if (pTmp == pCurSnapshot)
@@ -1342,8 +1330,7 @@ void VoglEditor::update_ui_for_snapshot(vogleditor_gl_state_snapshot* pStateSnap
    // state viewer
    vogleditor_QStateTreeModel* pStateModel = new vogleditor_QStateTreeModel(NULL);
 
-   vogleditor_QApiCallTreeModel* pTreeModel = static_cast<vogleditor_QApiCallTreeModel*>(ui->treeView->model());
-   vogleditor_gl_state_snapshot* pBaseSnapshot = findMostRecentSnapshot(pTreeModel->root(), m_currentSnapshot);
+   vogleditor_gl_state_snapshot* pBaseSnapshot = findMostRecentSnapshot(m_pApicallTreeModel->root(), m_currentSnapshot);
    pStateModel->set_diff_base_snapshot(pBaseSnapshot);
 
    pStateModel->set_snapshot(pStateSnapshot);