From 030496750e3a250767d54d510f46b702ddd82b87 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Tue, 20 Feb 2024 08:51:01 +0100 Subject: [PATCH] QDBusIntrospection: make DiagnosticsReporter safe to use Add a virtual destructor to this polymorphic class and disable copying (requires to bring the default ctor back manually, and to export the class nested in an exported class). Amends 248d2103b5ef8f9cf8c1189cb67d78e1b6e741b7. Change-Id: I9008e4ecebca34feac6ae92fa026f2673b652ba9 Reviewed-by: Ivan Solovev Reviewed-by: Qt CI Bot (cherry picked from commit 02d7c8c069b93f7ddc1ccba462d8ff9ec3c1d806) Reviewed-by: Qt Cherry-pick Bot --- src/dbus/qdbusintrospection.cpp | 3 +++ src/dbus/qdbusintrospection_p.h | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dbus/qdbusintrospection.cpp b/src/dbus/qdbusintrospection.cpp index 484d901ad7d..04b5ab77519 100644 --- a/src/dbus/qdbusintrospection.cpp +++ b/src/dbus/qdbusintrospection.cpp @@ -21,6 +21,9 @@ QT_BEGIN_NAMESPACE But they may prove useful if the XML data was obtained through other means (like parsing a file). */ +QDBusIntrospection::DiagnosticsReporter::~DiagnosticsReporter() + = default; + /*! \class QDBusIntrospection::Argument \inmodule QtDBus diff --git a/src/dbus/qdbusintrospection_p.h b/src/dbus/qdbusintrospection_p.h index a9d96e62a90..766cdffb621 100644 --- a/src/dbus/qdbusintrospection_p.h +++ b/src/dbus/qdbusintrospection_p.h @@ -58,9 +58,12 @@ public: qint64 columnNumber = 0; }; - class DiagnosticsReporter + class Q_DBUS_EXPORT DiagnosticsReporter { + Q_DISABLE_COPY_MOVE(DiagnosticsReporter) public: + DiagnosticsReporter() = default; + virtual ~DiagnosticsReporter(); virtual void warning(const SourceLocation &location, const char *msg, ...) Q_ATTRIBUTE_FORMAT_PRINTF(3, 4) = 0; virtual void error(const SourceLocation &location, const char *msg, ...)