From 462f46db30eade04b477110b99190cd922d81ca2 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 12 Mar 2024 11:57:22 +0100 Subject: [PATCH] NanoTrace: Add missing category constructor The constructor for the category was missing. Otherwise the CTAD is not working. Change-Id: I4d4c2aaba8915fbbade0b8ce4f1310046d748cd1 Reviewed-by: Thomas Hartmann Reviewed-by: Tim Jenssen Reviewed-by: Qt CI Patch Build Bot --- src/libs/nanotrace/nanotracehr.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/libs/nanotrace/nanotracehr.h b/src/libs/nanotrace/nanotracehr.h index 0698c61e059..23e5896df84 100644 --- a/src/libs/nanotrace/nanotracehr.h +++ b/src/libs/nanotrace/nanotracehr.h @@ -1332,6 +1332,8 @@ private: Internal::appendArguments(traceEvent.arguments, std::forward(arguments)...); } + CategoryFunctionPointer self() { return m_self; } + private: StringType m_name; EnabledEventQueue &m_eventQueue; @@ -1446,6 +1448,11 @@ public: } } + template + [[nodiscard]] Tracer(ArgumentType name, Category &category, Arguments &&...arguments) + : Tracer(std::move(name), category.self(), std::forward(arguments)...) + {} + Tracer(const Tracer &) = delete; Tracer &operator=(const Tracer &) = delete; Tracer(Tracer &&other) noexcept = delete; @@ -1479,7 +1486,7 @@ private: void sendTrace(Arguments &&...arguments) { if (m_name.size()) { - auto category = m_category(); + auto &category = m_category(); if (category.isEnabled == IsEnabled::Yes) { auto duration = Clock::now() - m_start; auto &traceEvent = getTraceEvent(category.eventQueue());