summaryrefslogtreecommitdiffstats
path: root/src/corelib/tracing/qctfplugin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/tracing/qctfplugin.cpp')
-rw-r--r--src/corelib/tracing/qctfplugin.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/corelib/tracing/qctfplugin.cpp b/src/corelib/tracing/qctfplugin.cpp
index 4e966b32f85..db052fa6e0c 100644
--- a/src/corelib/tracing/qctfplugin.cpp
+++ b/src/corelib/tracing/qctfplugin.cpp
@@ -19,24 +19,38 @@ public:
{
}
- ~QCtfTracePlugin() = default;
+ ~QCtfTracePlugin()
+ {
+ m_cleanup = true;
+ QCtfLibImpl::cleanup();
+ }
bool tracepointEnabled(const QCtfTracePointEvent &point) override
{
+ if (m_cleanup)
+ return false;
return QCtfLibImpl::instance()->tracepointEnabled(point);
}
void doTracepoint(const QCtfTracePointEvent &point, const QByteArray &arr) override
{
+ if (m_cleanup)
+ return;
QCtfLibImpl::instance()->doTracepoint(point, arr);
}
bool sessionEnabled() override
{
+ if (m_cleanup)
+ return false;
return QCtfLibImpl::instance()->sessionEnabled();
}
QCtfTracePointPrivate *initializeTracepoint(const QCtfTracePointEvent &point) override
{
+ if (m_cleanup)
+ return nullptr;
return QCtfLibImpl::instance()->initializeTracepoint(point);
}
+private:
+ bool m_cleanup = false;
};
#include "qctfplugin.moc"