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