diff options
Diffstat (limited to 'src/plugins/ctfvisualizer/ctfvisualizertool.cpp')
| -rw-r--r-- | src/plugins/ctfvisualizer/ctfvisualizertool.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp index 8b35e2b8d5e..1c1a9415b10 100644 --- a/src/plugins/ctfvisualizer/ctfvisualizertool.cpp +++ b/src/plugins/ctfvisualizer/ctfvisualizertool.cpp @@ -24,6 +24,7 @@ #include <QFileDialog> #include <QMenu> #include <QMessageBox> +#include <QQuickItem> #include <fstream> @@ -157,6 +158,15 @@ void CtfVisualizerTool::setAvailableThreads(const QList<CtfTimelineModel *> &thr void CtfVisualizerTool::toggleThreadRestriction(QAction *action) { const QString tid = action->data().toString(); + + // deselect possibly current event + // (avoids crashes as next / previous would act afterwards on different or even nullptr models) + if (auto root = m_traceView->rootObject()) { + QMetaObject::invokeMethod(root, "selectByIndices", + Q_ARG(QVariant, QVariant(-1)), + Q_ARG(QVariant, QVariant(-1))); + } + m_traceManager->setThreadRestriction(tid, action->isChecked()); } |
