X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fvogleditor%2Fvogleditor_qapicalltreemodel.cpp;h=e34cc5b531611290f6f33ca173cc4c298d9600ee;hb=70c39f838937ede08c56c813f0cb6a26372949d0;hp=28e7e380aa99d070f8fbac34b89a980e5bb8e958;hpb=3c0003252364822639ce04535f221120f09b56a1;p=vogl diff --git a/src/vogleditor/vogleditor_qapicalltreemodel.cpp b/src/vogleditor/vogleditor_qapicalltreemodel.cpp index 28e7e38..e34cc5b 100644 --- a/src/vogleditor/vogleditor_qapicalltreemodel.cpp +++ b/src/vogleditor/vogleditor_qapicalltreemodel.cpp @@ -72,8 +72,6 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace m_trace_ctypes.init(pTrace_reader->get_sof_packet().m_pointer_sizes); - vogl_trace_packet trace_packet(&m_trace_ctypes); - for ( ; ; ) { vogl_trace_file_reader::trace_file_reader_status_t read_status = pTrace_reader->read_next_packet(); @@ -97,7 +95,9 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace if (pTrace_reader->get_packet_type() == cTSPTGLEntrypoint) { - if (!trace_packet.deserialize(pTrace_reader->get_packet_buf().get_ptr(), pTrace_reader->get_packet_buf().size(), false)) + vogl_trace_packet* pTrace_packet = vogl_new(vogl_trace_packet, &m_trace_ctypes); + + if (!pTrace_packet->deserialize(pTrace_reader->get_packet_buf().get_ptr(), pTrace_reader->get_packet_buf().size(), false)) { console::error("%s: Failed parsing GL entrypoint packet\n", VOGL_FUNCTION_NAME); break; @@ -111,12 +111,12 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace // Check if this is a state snapshot. // This is entirely optional since the client is designed to dynamically get new snapshots // if they don't exist. - GLuint cmd = trace_packet.get_param_value(0); - GLuint size = trace_packet.get_param_value(1); VOGL_NOTE_UNUSED(size); + GLuint cmd = pTrace_packet->get_param_value(0); + GLuint size = pTrace_packet->get_param_value(1); VOGL_NOTE_UNUSED(size); if (cmd == cITCRKeyValueMap) { - key_value_map &kvm = trace_packet.get_key_value_map(); + key_value_map &kvm = pTrace_packet->get_key_value_map(); dynamic_string cmd_type(kvm.get_string("command_type")); if (cmd_type == "state_snapshot") @@ -172,23 +172,23 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace // format parameters funcCall.append("( "); dynamic_string paramStr; - for (uint param_index = 0; param_index < trace_packet.total_params(); param_index++) + for (uint param_index = 0; param_index < pTrace_packet->total_params(); param_index++) { if (param_index != 0) funcCall.append(", "); paramStr.clear(); - trace_packet.pretty_print_param(paramStr, param_index, false); + pTrace_packet->pretty_print_param(paramStr, param_index, false); funcCall.append(paramStr.c_str()); } funcCall.append(" )"); - if (trace_packet.has_return_value()) + if (pTrace_packet->has_return_value()) { funcCall.append(" = "); paramStr.clear(); - trace_packet.pretty_print_return_value(paramStr, false); + pTrace_packet->pretty_print_return_value(paramStr, false); funcCall.append(paramStr.c_str()); } @@ -197,7 +197,7 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace if (pCurFrame == NULL) { pCurFrame = new vogleditor_frameItem(total_swaps); - vogleditor_apiCallTreeItem* pNewFrameNode = new vogleditor_apiCallTreeItem(pCurFrame, pCurParent); + vogleditor_apiCallTreeItem* pNewFrameNode = vogl_new(vogleditor_apiCallTreeItem, pCurFrame, pCurParent); pCurParent->appendChild(pNewFrameNode); m_itemList.append(pNewFrameNode); @@ -212,7 +212,7 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace } // make item and node for the api call - vogleditor_apiCallItem* pCallItem = new vogleditor_apiCallItem(pCurFrame, trace_packet, *pGL_packet); + vogleditor_apiCallItem* pCallItem = vogl_new(vogleditor_apiCallItem, pCurFrame, pTrace_packet, *pGL_packet); pCurFrame->appendCall(pCallItem); if (pPendingSnapshot != NULL) @@ -221,7 +221,7 @@ void vogleditor_QApiCallTreeModel::setupModelData(vogl_trace_file_reader* pTrace pPendingSnapshot = NULL; } - vogleditor_apiCallTreeItem* item = new vogleditor_apiCallTreeItem(funcCall, pCallItem, pCurParent); + vogleditor_apiCallTreeItem* item = vogl_new(vogleditor_apiCallTreeItem, funcCall, pCallItem, pCurParent); pCurParent->appendChild(item); m_itemList.append(item);