m_pTrimButton(NULL),
m_pStopButton(NULL),
m_pTraceReader(NULL),
- m_pTraceWriter(NULL),
m_pApicallTreeModel(NULL)
{
ui->setupUi(this);
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();
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);
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)
// 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);