if (event && event->type() == ApiTraceEvent::Call) {
ApiTraceCall *call = static_cast<ApiTraceCall*>(event);
- if (!call->backtrace().isNull()) {
- m_ui.backtraceBrowser->setText(call->backtrace());
- m_ui.backtraceDock->show();
- }
- else {
- m_ui.backtraceDock->hide();
- }
m_ui.detailsDock->setWindowTitle(
tr("Details View. Frame %1, Call %2")
.arg(call->parentFrame() ? call->parentFrame()->number : 0)
}
}
}
+ m_ui.backtraceBrowser->setText(call->backtrace());
+ m_ui.backtraceDock->setVisible(!call->backtrace().isNull());
m_ui.vertexDataDock->setVisible(call->hasBinaryData());
m_selectedEvent = call;
} else {
dlgUi.errorCheckCB->setChecked(
!m_retracer->isBenchmarking());
+ dlgUi.singlethreadCB->setChecked(
+ m_retracer->isSinglethread());
+
if (dlg.exec() == QDialog::Accepted) {
m_retracer->setDoubleBuffered(
dlgUi.doubleBufferingCB->isChecked());
m_retracer->setBenchmarking(
!dlgUi.errorCheckCB->isChecked());
+ m_retracer->setSinglethread(
+ dlgUi.singlethreadCB->isChecked());
+
m_retracer->setProfiling(false, false, false);
replayTrace(false, false);
void MainWindow::trimEvent()
{
+ int trimIndex = 0;
+
+ Q_ASSERT(m_trimEvent->type() == ApiTraceEvent::Call ||
+ m_trimEvent->type() == ApiTraceEvent::Frame);
- int trimIndex;
if (m_trimEvent->type() == ApiTraceEvent::Call) {
ApiTraceCall *call = static_cast<ApiTraceCall*>(m_trimEvent);
trimIndex = call->index();
l->setWordWrap(true);
tree->setItemWidget(item, 1, l);
- item->setData(0, Qt::UserRole, surface.image());
+ item->setData(0, Qt::UserRole, surface.base64Data());
}
void MainWindow::fillStateForFrame()
viewer->setAttribute(Qt::WA_DeleteOnClose, true);
QVariant var = item->data(0, Qt::UserRole);
- QImage img = var.value<QImage>();
- viewer->setImage(img);
+ QByteArray base64Data = var.value<QByteArray>();
+ viewer->setBase64Data(base64Data);
viewer->show();
viewer->raise();
imageIndex = tr("_call_%1")
.arg(selectedCall()->index());
} else if (selectedFrame()) {
- ApiTraceCall *firstCall = selectedFrame()->call(0);
+ ApiTraceCall *firstCall =
+ static_cast<ApiTraceCall *>(selectedFrame()->eventAtRow(0));
if (firstCall) {
imageIndex = tr("_frame_%1")
.arg(firstCall->index());