aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <[email protected]>2024-01-12 18:34:46 +0100
committerhjk <[email protected]>2024-01-12 17:48:59 +0000
commit14ede71d62a018b0447ca2461dece84c5e68bd36 (patch)
treebf2cb893c1ab9db35a5da09d9e84680d6d4475c7
parenteeb8bf1ddf79fa1bc040de3dc94f2d9241ae63c1 (diff)
CtfVisualizer: Destroy CtfTool earlier again
Amends 796053d7. After all, the defaulted destructor of the class did some actual work via the destructors of the QScopedPointer members. Change-Id: If6dc8a3d57961ec263fced11f9fa9f7e9f8c54cc Reviewed-by: Jarek Kobus <[email protected]>
-rw-r--r--src/plugins/ctfvisualizer/ctfvisualizerplugin.cpp2
-rw-r--r--src/plugins/ctfvisualizer/ctfvisualizertool.cpp9
-rw-r--r--src/plugins/ctfvisualizer/ctfvisualizertool.h4
3 files changed, 8 insertions, 7 deletions
diff --git a/src/plugins/ctfvisualizer/ctfvisualizerplugin.cpp b/src/plugins/ctfvisualizer/ctfvisualizerplugin.cpp
index 80868c3e24f..769579714d1 100644
--- a/src/plugins/ctfvisualizer/ctfvisualizerplugin.cpp
+++ b/src/plugins/ctfvisualizer/ctfvisualizerplugin.cpp
@@ -14,7 +14,7 @@ class CtfVisualizerPlugin : public ExtensionSystem::IPlugin
void initialize() final
{
- setupCtfVisualizerTool();
+ setupCtfVisualizerTool(this);
}
};
diff --git a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
index 0d84b35b8dc..d41b3d45029 100644
--- a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
+++ b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp
@@ -35,8 +35,9 @@ namespace CtfVisualizer::Internal {
using json = nlohmann::json;
-CtfVisualizerTool::CtfVisualizerTool()
- : m_modelAggregator(new Timeline::TimelineModelAggregator(this))
+CtfVisualizerTool::CtfVisualizerTool(QObject *parent)
+ : QObject(parent)
+ , m_modelAggregator(new Timeline::TimelineModelAggregator(this))
, m_zoomControl(new Timeline::TimelineZoomControl(this))
, m_statisticsModel(new CtfStatisticsModel(this))
, m_traceManager(new CtfTraceManager(this, m_modelAggregator.get(), m_statisticsModel.get()))
@@ -251,9 +252,9 @@ void CtfVisualizerTool::loadJson(const QString &fileName)
m_loader->start();
}
-void setupCtfVisualizerTool()
+void setupCtfVisualizerTool(QObject *guard)
{
- static CtfVisualizerTool theCtfVisualizerTool;
+ (void) new CtfVisualizerTool(guard);
}
} // namespace CtfVisualizer::Internal
diff --git a/src/plugins/ctfvisualizer/ctfvisualizertool.h b/src/plugins/ctfvisualizer/ctfvisualizertool.h
index 8427ef04379..7937767c079 100644
--- a/src/plugins/ctfvisualizer/ctfvisualizertool.h
+++ b/src/plugins/ctfvisualizer/ctfvisualizertool.h
@@ -28,7 +28,7 @@ class CtfVisualizerTool : public QObject
Q_OBJECT
public:
- CtfVisualizerTool();
+ explicit CtfVisualizerTool(QObject *parent);
~CtfVisualizerTool();
Timeline::TimelineModelAggregator *modelAggregator() const;
@@ -66,6 +66,6 @@ private:
QMenu *const m_restrictToThreadsMenu;
};
-void setupCtfVisualizerTool();
+void setupCtfVisualizerTool(QObject *guard);
} // namespace CtfVisualizer::Internal