vktraceviewer::~vktraceviewer() { close_trace_file(); if (m_pTimeline != NULL) { delete m_pTimeline; m_pTimeline = NULL; } reset_view(); delete ui; vktraceviewer_output_deinit(); }
scv_debug::~scv_debug() { close_trace_file(); }
void vktraceviewer::onTraceFileLoaded(bool bSuccess, vktraceviewer_trace_file_info fileInfo, const QString& controllerFilename) { QApplication::restoreOverrideCursor(); if (fileInfo.packetCount == 0) { LogWarning("The trace file has 0 packets."); } else if (fileInfo.pPacketOffsets == NULL) { LogError("No packet offsets read from trace file."); bSuccess = false; } if (!bSuccess) { LogAlways("...FAILED!"); QMessageBox::critical(this, tr("Error"), tr("Could not open trace file.")); close_trace_file(); if (m_bGeneratingTrace) { // if the user was generating a trace file, but the trace failed to load, // then re-spawn the generate trace dialog. prompt_generate_trace(); } } else { m_traceFileInfo = fileInfo; setWindowTitle(QString(m_traceFileInfo.filename) + " - " + g_PROJECT_NAME); LogAlways("...success!"); // update settings to reflect the currently open file g_settings.trace_file_to_open = vktrace_allocate_and_copy(m_traceFileInfo.filename); vktraceviewer_settings_updated(); #ifndef USE_STATIC_CONTROLLER_LIBRARY if (!controllerFilename.isEmpty()) { m_pController = m_controllerFactory.Load(controllerFilename.toStdString().c_str()); } #else m_pController = vtvCreateQController(); #endif if (m_pController != NULL) { connect(m_pController, SIGNAL(OutputMessage(VktraceLogLevel, const QString&)), this, SLOT(OnOutputMessage(VktraceLogLevel, const QString&))); connect(m_pController, SIGNAL(OutputMessage(VktraceLogLevel, uint64_t, const QString&)), this, SLOT(OnOutputMessage(VktraceLogLevel, uint64_t, const QString&))); // Merge in settings from the controller. // This won't replace settings that may have already been loaded from disk. vktrace_SettingGroup_merge(m_pController->GetSettings(), &g_pAllSettings, &g_numAllSettings); // now update the controller with the loaded settings m_pController->UpdateFromSettings(g_pAllSettings, g_numAllSettings); //// trace file was loaded, now attempt to open additional session data //if (load_or_create_session(filename.c_str(), m_pTraceReader) == false) //{ // // failing to load session data is not critical, but may result in unexpected behavior at times. // vktraceviewer_output_error("VkTraceViewer was unable to create a session folder to save viewing information. Functionality may be limited."); //} // Update the UI with the controller m_pController->LoadTraceFile(&m_traceFileInfo, this); } // update toolbar ui->searchTextBox->setEnabled(true); ui->searchPrevButton->setEnabled(true); ui->searchNextButton->setEnabled(true); ui->action_Close->setEnabled(true); ui->actionExport_API_Calls->setEnabled(true); ui->prevDrawcallButton->setEnabled(true); ui->nextDrawcallButton->setEnabled(true); // reset flag indicating that the ui may have been generating a trace file. m_bGeneratingTrace = false; GenerateTraceFileStats(); }
void vktraceviewer::closeEvent (QCloseEvent *pEvent) { vktraceviewer_save_settings(); close_trace_file(); pEvent->accept(); }
int gif_main_end() { fclose(fp_gif); close_trace_file(); }