diff options
Diffstat (limited to 'src/runtime/q3dsprofiler.cpp')
-rw-r--r-- | src/runtime/q3dsprofiler.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/runtime/q3dsprofiler.cpp b/src/runtime/q3dsprofiler.cpp index 727229a..1a02084 100644 --- a/src/runtime/q3dsprofiler.cpp +++ b/src/runtime/q3dsprofiler.cpp @@ -121,6 +121,22 @@ void Q3DSProfiler::trackNewObject(QObject *obj, ObjectType type, const QByteArra va_end(ap); } +void Q3DSProfiler::trackNewObject(QObject *obj, ObjectType type, const QByteArray &id, + const QString &info) +{ + if (!m_enabled) + return; + + ObjectData objd(obj, type, id); + objd.info = info; + m_objectData.insert(type, objd); + + m_objectDestroyConnections.append(QObject::connect(obj, &QObject::destroyed, + [this, obj, type, id]() { + m_objectData.remove(type, ObjectData(obj, type, id)); + })); +} + void Q3DSProfiler::vtrackNewObject(QObject *obj, ObjectType type, const QByteArray &id, const char *info, va_list args) { if (!m_enabled) |