aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ctfvisualizer/ctftracemanager.h
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2023-09-27 16:16:43 +0200
committerJarek Kobus <[email protected]>2023-09-27 15:09:56 +0000
commitc05f9cacc6be1038a1a9ecee0af07ac84c01738c (patch)
treee2d841a1a7ac4427f119da5b566cb2fcd38e674b /src/plugins/ctfvisualizer/ctftracemanager.h
parentc32022f0857dfca38359c7cc32a578a677af18d5 (diff)
CtfVisualizer: Fix multithreading issues
Simplify the CtfVisualizerTool::loadJson(). Don't create a QThread manually, but use TaskTree with AsyncTask instead. Move pure parsing into the separate thread, and leave the nlohmann::json event handling in the main thread. Avoid moving m_modelAggregator between threads. Fixes: QTCREATORBUG-29657 Change-Id: I0c6a9a4ea8298dbbdbafcddd338d39ad73c3f82b Reviewed-by: Alessandro Portale <[email protected]>
Diffstat (limited to 'src/plugins/ctfvisualizer/ctftracemanager.h')
-rw-r--r--src/plugins/ctfvisualizer/ctftracemanager.h14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/plugins/ctfvisualizer/ctftracemanager.h b/src/plugins/ctfvisualizer/ctftracemanager.h
index d376d010b5c..29694740297 100644
--- a/src/plugins/ctfvisualizer/ctftracemanager.h
+++ b/src/plugins/ctfvisualizer/ctftracemanager.h
@@ -5,13 +5,11 @@
#include "json/json.hpp"
#include <QHash>
+#include <QList>
#include <QMap>
#include <QObject>
-#include <QVector>
-namespace Timeline {
-class TimelineModelAggregator;
-}
+namespace Timeline { class TimelineModelAggregator; }
namespace CtfVisualizer {
namespace Internal {
@@ -34,7 +32,6 @@ public:
void addEvent(const nlohmann::json &event);
- void load(const QString &filename);
void finalize();
bool isEmpty() const;
@@ -46,6 +43,9 @@ public:
void setThreadRestriction(const QString &tid, bool restrictToThisThread);
bool isRestrictedTo(const QString &tid) const;
+ void updateStatistics();
+ void clearAll();
+
signals:
void detailsRequested(const QString &title);
@@ -53,10 +53,6 @@ protected:
void addModelForThread(const QString &threadId, const QString &processId);
void addModelsToAggregator();
- void updateStatistics();
-
- void clearAll();
-
Timeline::TimelineModelAggregator *const m_modelAggregator;
CtfStatisticsModel *const m_statisticsModel;