diff --git a/src/plugins/perfprofiler/perfprofilerflamegraphmodel.cpp b/src/plugins/perfprofiler/perfprofilerflamegraphmodel.cpp index 09b6879be91..7027f49d96b 100644 --- a/src/plugins/perfprofiler/perfprofilerflamegraphmodel.cpp +++ b/src/plugins/perfprofiler/perfprofilerflamegraphmodel.cpp @@ -75,8 +75,8 @@ public: void setManager(const PerfProfilerTraceManager *manager) { m_manager = manager; } const PerfProfilerTraceManager *manager() const { return m_manager; } - PerfProfilerFlameGraphModel::Data *stackBottom() const { return m_stackBottom.data(); } - void swapStackBottom(QScopedPointer &stackBottom) + PerfProfilerFlameGraphModel::Data *stackBottom() const { return m_stackBottom.get(); } + void swapStackBottom(std::unique_ptr &stackBottom) { m_stackBottom.swap(stackBottom); } @@ -84,7 +84,7 @@ public: uint resourcePeakId() const { return m_resourcePeakId; } private: - QScopedPointer m_stackBottom; + std::unique_ptr m_stackBottom; std::unordered_map m_resourceBlocks; QPointer m_manager; uint m_resourcePeakId = 0; @@ -106,7 +106,7 @@ PerfProfilerFlameGraphModel::PerfProfilerFlameGraphModel(PerfProfilerTraceManage PerfProfilerFlameGraphModel::~PerfProfilerFlameGraphModel() { // If the offline data isn't here, we're being deleted while loading something. That's unnice. - QTC_CHECK(!m_offlineData.isNull()); + QTC_CHECK(m_offlineData); } QModelIndex PerfProfilerFlameGraphModel::index(int row, int column, const QModelIndex &parent) const @@ -122,8 +122,8 @@ QModelIndex PerfProfilerFlameGraphModel::parent(const QModelIndex &child) const { if (child.isValid()) { Data *childData = static_cast(child.internalPointer()); - return childData->parent == m_stackBottom.data() ? QModelIndex() - : createIndex(0, 0, childData->parent); + return childData->parent == m_stackBottom.get() ? QModelIndex() + : createIndex(0, 0, childData->parent); } return {}; } @@ -153,7 +153,7 @@ QVariant PerfProfilerFlameGraphModel::data(const QModelIndex &index, int role) c { const Data *data = static_cast(index.internalPointer()); if (!data) - data = m_stackBottom.data(); + data = m_stackBottom.get(); switch (role) { case TypeIdRole: @@ -210,7 +210,7 @@ QVariant PerfProfilerFlameGraphModel::data(const QModelIndex &index, int role) c void PerfProfilerFlameGraphModel::initialize() { - PerfProfilerFlameGraphData *offline = m_offlineData.take(); + PerfProfilerFlameGraphData *offline = m_offlineData.release(); QTC_ASSERT(offline, return); QTC_ASSERT(offline->isEmpty(), offline->clear()); offline->setManager(qobject_cast(QObject::parent())); @@ -289,7 +289,7 @@ void PerfProfilerFlameGraphData::loadEvent(const PerfEvent &event, const PerfEve { const uint numSamples = (event.timestamp() < 0) ? 0 : 1; m_stackBottom->samples += numSamples; - auto data = m_stackBottom.data(); + auto data = m_stackBottom.get(); const QVector &stack = event.frames(); for (auto it = stack.rbegin(), end = stack.rend(); it != end; ++it) data = pushChild(data, *it, numSamples); @@ -304,7 +304,7 @@ void PerfProfilerFlameGraphModel::finalize(PerfProfilerFlameGraphData *data) data->swapStackBottom(m_stackBottom); QQueue nodes; - nodes.enqueue(m_stackBottom.data()); + nodes.enqueue(m_stackBottom.get()); while (!nodes.isEmpty()) { Data *node = nodes.dequeue(); if (node->lastResourceChangeId < data->resourcePeakId()) { @@ -325,12 +325,12 @@ void PerfProfilerFlameGraphModel::finalize(PerfProfilerFlameGraphData *data) void PerfProfilerFlameGraphModel::clear(PerfProfilerFlameGraphData *data) { beginResetModel(); - if (m_offlineData.isNull()) { + if (!m_offlineData) { // We didn't finalize data->clear(); m_offlineData.reset(data); } else { - QTC_CHECK(data == m_offlineData.data()); + QTC_CHECK(data == m_offlineData.get()); } m_stackBottom.reset(new Data); endResetModel(); diff --git a/src/plugins/perfprofiler/perfprofilerflamegraphmodel.h b/src/plugins/perfprofiler/perfprofilerflamegraphmodel.h index 4347728536d..9daafbef16b 100644 --- a/src/plugins/perfprofiler/perfprofilerflamegraphmodel.h +++ b/src/plugins/perfprofiler/perfprofilerflamegraphmodel.h @@ -77,8 +77,8 @@ signals: void gotoSourceLocation(QString file, int line, int column); private: - QScopedPointer m_stackBottom; - QScopedPointer m_offlineData; + std::unique_ptr m_stackBottom; + std::unique_ptr m_offlineData; }; } // namespace Internal diff --git a/src/plugins/perfprofiler/perfprofilerstatisticsmodel.cpp b/src/plugins/perfprofiler/perfprofilerstatisticsmodel.cpp index 9c622331452..e44d1efa2a9 100644 --- a/src/plugins/perfprofiler/perfprofilerstatisticsmodel.cpp +++ b/src/plugins/perfprofiler/perfprofilerstatisticsmodel.cpp @@ -136,7 +136,7 @@ void PerfProfilerStatisticsMainModel::finalize(PerfProfilerStatisticsData *data) resort(); QTC_ASSERT(data->isEmpty(), data->clear()); - QTC_CHECK(m_offlineData.isNull()); + QTC_CHECK(!m_offlineData); m_offlineData.reset(data); } @@ -180,7 +180,7 @@ quint64 PerfProfilerStatisticsMainModel::address(int typeId) const void PerfProfilerStatisticsMainModel::initialize() { // Make offline data unaccessible while we're loading events - PerfProfilerStatisticsData *offline = m_offlineData.take(); + PerfProfilerStatisticsData *offline = m_offlineData.release(); QTC_ASSERT(offline, return); QTC_ASSERT(offline->isEmpty(), offline->clear()); } @@ -290,12 +290,12 @@ void PerfProfilerStatisticsMainModel::sort(int column, Qt::SortOrder order) void PerfProfilerStatisticsMainModel::clear(PerfProfilerStatisticsData *data) { beginResetModel(); - if (m_offlineData.isNull()) { + if (!m_offlineData) { // We didn't finalize data->clear(); m_offlineData.reset(data); } else { - QTC_CHECK(data == m_offlineData.data()); + QTC_CHECK(data == m_offlineData.get()); } m_totalSamples = 0; m_data.clear(); @@ -335,7 +335,7 @@ PerfProfilerStatisticsMainModel::PerfProfilerStatisticsMainModel(QObject *parent PerfProfilerStatisticsMainModel::~PerfProfilerStatisticsMainModel() { // If the offline data isn't here, we're being deleted while loading something. That's unnice. - QTC_CHECK(!m_offlineData.isNull()); + QTC_CHECK(m_offlineData); } PerfProfilerStatisticsRelativesModel::PerfProfilerStatisticsRelativesModel( diff --git a/src/plugins/perfprofiler/perfprofilerstatisticsmodel.h b/src/plugins/perfprofiler/perfprofilerstatisticsmodel.h index 5f5bd756125..70ea19f756b 100644 --- a/src/plugins/perfprofiler/perfprofilerstatisticsmodel.h +++ b/src/plugins/perfprofiler/perfprofilerstatisticsmodel.h @@ -102,7 +102,7 @@ private: qint64 m_endTime; uint m_totalSamples; - QScopedPointer m_offlineData; + std::unique_ptr m_offlineData; }; class PerfProfilerStatisticsRelativesModel : public PerfProfilerStatisticsModel {